On Saturday 08 April 2006 01:08, Alan_C wrote:
> On Friday 07 April 2006 03:34, John W. Krahn wrote:
> > Alan_C wrote:
> > > Hi,
> >
> > Hello,
>
> [ snip ]
> > #!/usr/bin/perl -w
> > use strict;
> >
> > @ARGV = glob 'xtst*';
> >
> > my %data;
> >
> > while ( <> ) {
> > my ( $key, @keywords ) = split;
> > if ( $key eq '#:' ) {
> > for ( @keywords ) {
> > push @{ $data{ $_ } }, $ARGV;
>
> what is the @{ $data ??
$data{$_} contains a reference to an array. It was automatically created when
you tried to dereference it here @{$data{$_}}
so in essence @{$data{$_}} is an array. Eventually each key in %data will be
a keyword and the values will be the all the filenames where those keywords
occurred.
map => [ xtst1234 xtst2345 ]
chomp => [ xtxt2345 xtxt3456 ]
> > }
> > }
> > # quit looking when we reach the sixth line
> > close ARGV if $. == 6;
> > }
> >
> > for my $keyword ( keys %data ) {
> > print "The keyword '$keyword' found in the files
> > @{$data{$keyword}}.\n"; }
>
> And, there it is again -- is that array of hash? The rest of it I
> get/understand.
Here, he is again dereferencing the array reference in $data{$keyword} to spit
out the contents of the array.
>
> --
> Alan.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>