Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
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

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://541166]
help
Chatterbox?
choroba isn't sure
[choroba]: I plan to break the monolith into modules and create a CPAN App distribution, but I haven't expolored the details yet
[1nickt]: choroba Is it a safe assumption that if there is a threaded perl then the user will want to use Thread::Queue?
[hippo]: Why not?
[1nickt]: That's good! I suppose the cpanfile would be the same however the app distro is structured ...
[1nickt]: hippo no reason why not other than wanting to check an assumption :-)

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (14)
As of 2017-10-18 13:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My fridge is mostly full of:

















    Results (244 votes). Check out past polls.

    Notices?