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
     }


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to