Johnson, Reginald (GTI) wrote:
> I am trying to print the contents of the array from within the hash. I
> see that I can do it by
> 
>  print "$name: $items[0][0] $items[0][1] $items[0][2] $items[0][3]  \n "
> 
> Is there a better way to accomplish this, especially if I don't know the
> number of items in the array.
> 
> Here is the code:
>         while (( my $name, my @items) = each(%all)) {

Hash keys and values are scalars not arrays, although you can store a
reference to an array in a scalar:

        while ( my ( $name, $items ) = each %all ) {


>                         my $len = @items;

And then dereference the array:

                        my $len = @$items;


>                         print "this is len=>$len\n";
> #               print "$name: $items[0][0] $items[0][1] $items[0][2]
> $items[0][3] [EMAIL PROTECTED] \n ";

And dereference the elements:

#               print "$name: $items->[0] $items->[1] $items->[2] 
$items->[3]\n";

Or use an array slice:

#               print "$name: @$items[0..3]\n";


>                 print Dumper(@items);

                print Dumper $items;

>         }



John
-- 
Perl isn't a toolbox, but a small machine shop where you can special-order
certain sorts of tools at low cost and in short order.       -- Larry Wall

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


Reply via email to