Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

RE: Array inside hashes

by athomason (Curate)
on Jul 22, 2000 at 14:03 UTC ( [id://23896]=note: print w/replies, xml ) Need Help??


in reply to Array inside hashes

Just a note, \(1, 2, 3) was a good try, but it's actually interpreted as (\1, \2, \3). From perldoc perlref:

Taking a reference to an enumerated list is not the same as using square brackets--instead it's the same as creating a list of references! @list = (\$a, \@b, \%c); @list = \($a, @b, %c); # same thing! As a special case, `\(@foo)' returns a list of references to the contents of `@foo', not a reference to `@foo' itself. Likewise for `%foo', except that the key references are to copies (since the keys are just strings rather than full-fledged scalars).

So, as the previous posters mentioned, the solution is to use [1, 2, 3] instead of \(1, 2, 3).

Replies are listed 'Best First'.
RE: RE: Array inside hashes
by Anonymous Monk on Jul 22, 2000 at 22:35 UTC
    (Offer your reply needs a preview button :) Thanks everyone for their help! I knew I was missing something obvious. athomason mentioned \($a, @b, %c) is the same as (\$a, \@b, \%c). But is \[$a, $b, $c) the same as [\$a, \$b, \$c]? All the array elements are references, so I believe the first method would be cleaner.
    $a = "foo"; $b = "bar"; $c = "baz"; @list = \[$a, $b, $c]; foreach(@list) { print $$_ . "\n"; }
    Perl appears to set $list[0] to a reference to [$a, $b, $c]. Is there a less redundant way to say [\$a, \$b, \$c]?
RE: RE: Array inside hashes
by Anonymous Monk on Jul 22, 2000 at 22:33 UTC
    Thanks everyone for their help! I knew I was missing something obvious. athomason mentioned \($a, @b, %c) is the same as (\$a, \@b, \%c). But is \[$a, $b, $c) the same as \$a, \$b, \$c? All the array elements are references, so I believe the first method would be cleaner.
    $a = "foo"; $b = "bar"; $c = "baz"; @list = \[$a, $b, $c]; foreach(@list) { print $$_ . "\n"; }
    Perl appears to set $list[0] to a reference to $a, $b, $c. Is there a less redundant way to say \$a, \$b, \$c?

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://23896]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (4)
As of 2024-04-25 12:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found