Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: my $x or my ($x)

by sgifford (Prior)
on Apr 04, 2006 at 15:31 UTC ( #541166=note: print w/ replies, xml ) Need Help??


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

The variable itself isn't in a list context; whatever comes after the equal sign is in a list context. Regular expression matches are one place where this matters, but here's a clearer example:

$ perl -le 'my $x = localtime; print $x' Tue Apr 4 11:25:49 2006 $ perl -le 'my($x) = localtime; print $x' 52

If you read the docs for localtime, you'll see that it returns different values when called in a scalar or list context, so the type of assignment can make a big difference.

Here's another example:

#!/usr/bin/perl sub test { if (wantarray) { return ('list context'); } else { return 'scalar context'; } } my $s = test; print "s=$s\n"; my(@l) = test; print "l=@l\n";
which outputs:
s=scalar context
l=list context


Comment on Re: my $x or my ($x)
Select or Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2015-07-31 19:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (280 votes), past polls