http://www.perlmonks.org?node_id=541302


in reply to my $x or my ($x)

If you just write my $x; or my ($x); there is no important difference

but if you assign values to the variable and have functions or the like that behave differently in scalar or list context, there may be problems, e.g.

open (my $FH, "<", $file) or die ... # reads the whole file, assigns first line to $headline my ($headline) = <$FH>; # since the whole file is already read, there's nothing # more to be read, so the while block will never be executed while( my $line = <$FH> ) {

or:

sub xxx { # error, must be my ($firstParam) = @_; if you don't want # to get the number of parameters but the first param my $firstParam = @_; ...

or:

my $x = reverse('abcdef'); my ($y) = reverse('abcdef'); print "x=$x\ny=$y\n";

or localtime, caller, regular expressions,...

Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"