in reply to \($a, $b, $c) eq (\$a, \$b, \$c), is \$a, $b, $c eq \$a, \$b, \$c?

Let's have a look at the '\', '[]' and '()' constructs: So using the special braces '[' and ']' creates a reference to an array. If you use the normal braces '(' and ')' you group things into lists, so: So if we use the [$a, $b, $c] construct our list @list will contain one element, namely a reference to an array. If we on the other hand use the ($a, $b, $c) construct, the list will contain 3 elements.

So then, an easier way to write [\$a, \$b, \$c] would be [ \($a, $b, $c) ]. But still, this will not fix your example - I hope you can see the error in the example, but let's fix it:

$a = "foo"; $b = "bar"; $c = "baz"; @list = \($a, $b, $c); foreach(@list) { print $$_ . "\n"; }
Autark.

Replies are listed 'Best First'.
RE: RE: \($a, $b, $c) eq (\$a, \$b, \$c), is \$a, $b, $c eq \$a, \$b, \$c?
by Anonymous Monk on Jul 23, 2000 at 07:37 UTC
    Thanks, I should RTFM some more. [\($a, $b, $c)] turns out to be what I was looking for.