my $var is a scalar.
my ($var) is a list (of one scalar) equivalent to (my $var).
The context of the RHS of an assignment operator is determined by the LHS of the operator.
An array in scalar context evaluates to the number of elements in the array.
An array in list context evaluates to a list of its elements.
For example,
sub test { my $var1 = @_; my ($var2) = @_; (my $var3) = @_; my ($var4, $var5) = @_; (my $var6, my $var7) = @_; print("my \$var1 = \@_; -> $var1\n"); print("my (\$var2) = \@_; -> $var2\n"); print("(my \$var3) = \@_; -> $var3\n"); print("my (\$var4, \$var5) = \@_; -> $var4, $var5\n"); print("(my \$var6, my \$var7) = \@_; -> $var6, $var7\n"); } test('abc', 'def');
my $var1 = @_; -> 2 my ($var2) = @_; -> abc (my $var3) = @_; -> abc my ($var4, $var5) = @_; -> abc, def (my $var6, my $var7) = @_; -> abc, def
In reply to Re: use of parentheses around a variable
by ikegami
in thread use of parentheses around a variable
by perlfan99
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |