Re: comparing kit names

[email protected] (perl_learner)
Newsgroups perl.beginners
Organization http://groups.google.com
Message-ID <[email protected]>
On May 5, 3:26 am, [email protected] (Gunnar Hjalmarsson) wrote:
> perl_learner wrote:
> > Hi,
>
> > I have these type of kits in unix location.
>
> > aaa.t.z aaa_d.t.z bbb.t.z bbb_d.t.z ccc.t.z ccc_d.t.z ddd.t.z eee.t.z
> > (there will be more numbers).
>
> > I have to come up with idea, so that ,
> > it compares for each *.t.z kit in that location, that it has the
> > corresponding *_d.t.z. If any *.t.z doesn't have corresponding
> > *_d.t.z, it will print out the list of that/those kit/kits. In this
> > case, it should print out:
>
> > ddd.t.z eee.t.z
>
> > Currently I am putting the kit list in an array, still not able to
> > compare them correctly.
>
> One way:
>
>      my @kits = qw( aaa.t.z aaa_d.t.z bbb.t.z bbb_d.t.z
>                    ccc.t.z ccc_d.t.z ddd.t.z eee.t.z );
>
>      my %hash = map {
>          ( my $tmp = $_) =~ s/_d(\.t\.z)$/$1/; $tmp => 1
>      } grep /_d\.t\.z$/, @kits;
>
>      foreach my $kit ( grep !/_d\.t\.z$/, @kits ) {
>          print "$kit\n" unless $hash{$kit};
>      }
>
> --
> Gunnar Hjalmarsson
> Email:http://www.gunnar.cc/cgi-bin/contact.pl- Hide quoted text -
>
> - Show quoted text -

Hi Gunner,
Thanks for your reply. It works out if I use qw option. However I have
bigger list. I am sending my program, it provides me both *_d.t.Z as
well as *Z list. Not doing the comparison. Can you have a look again?
So looks like the comparison is not working.
Thanks in advance.

$KIT_LOCATION="/lnx/dep/packages";
$KIT_LIST=`ls $KIT_LOCATION/*.t.Z`;
#print $KIT_LIST;
$KIT_LIST=~ s/$KIT_LOCATION\///g;
#print $KIT_LIST;
my @kits = $KIT_LIST;
chomp ($kits);
#print "@kits";###prints out both .Z and _d.t.Z

     my %hash = map {
        ( my $tmp = $_) =~ s/_d(\.t\.Z)$/$1/; $tmp => 1
     } grep /_d\.t\.Z$/, @kits;


        #print "@kits\n"; #prints out both .Z and _d.t.Z

     foreach my $kit ( grep !/_d\.t\.Z$/, @kits ) {
         #print "$kit\n" unless $hash{$kit}; #prints out both .Z and
_d.t.Z
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.