in reply to 3Re: passing information into a hash
in thread passing information into a hash

I want to be clear about this - I don't quite understand yet. Does @array copy the array and then create an anonymous reference to the new array? Or does it just create a new reference to the existing @array? TIA.
  • Comment on Re: 3Re: passing information into a hash

Replies are listed 'Best First'.
5Re: passing information into a hash
by jeffa (Bishop) on Sep 29, 2003 at 19:00 UTC

    Don't forget to escape square brackets, the left one is all you really need to worry about: [@array]

    Anyways ... [@array] copies the contents of the array into a new anonymous array reference. I think the name for the collection of those contents is called a list ... so you could say that the l-value of [@array] is an anymous array that contains a copy of @array's list ... i think. Understanding the difference between Perl's lists and arrays can be tricky, and i often get it wrong. :/

    Here is some more code to study:

    #!/usr/bin/perl -l use strict; use warnings; use Data::Dumper; my @array = 0..4; my $ref1 = \@array; my $ref2 = \@array; my $copy1 = [@array]; my $copy2 = [@array]; print Dumper $ref1,$copy1; print for ($ref1,$ref2,$copy1,$copy2); undef @array; print Dumper $ref2,$copy2;

    jeffa

    L-LL-L--L-LL-L--L-LL-L--
    -R--R-RR-R--R-RR-R--R-RR
    B--B--B--B--B--B--B--B--
    H---H---H---H---H---H---
    (the triplet paradiddle with high-hat)