Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re: my $x or my ($x)

by davidrw (Prior)
on Apr 04, 2006 at 13:24 UTC ( #541142=note: print w/ replies, xml ) Need Help??


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

for the behavior, besides all of the above posts, also consider this simple example:

my @x = ('a' .. 'e'); my $y = @x; my ($z) = @x; warn $y; # 5 warn $z; # 'a'
Because, in scalar context, an array variable will evaluate to it's length.

I'd say that, in general, it's "more appropriate" to declare in list context only when list context is actually needed -- e.g. declaring multiple variables at once, or sometihng like the my ($z) = @x; above where you're working w/ an array on the RHS.

Another common use of list context:
function foo { my ($bar, $stuff, $blah) = @_; # get the arguments ... }


Comment on Re: my $x or my ($x)
Select or Download Code
Re^2: my $x or my ($x)
by johngg (Abbot) on Apr 04, 2006 at 16:45 UTC
    I know that it is really not necessary but I have got into the habit when counting elements in a list of doing

    my $elems = scalar @list;

    rather than

    my $elems = @list;

    just to make it crystal clear for "those that come after" what is going on. That the question gets asked demonstrates why such practices can be helpful.

    Cheers,

    JohnGG

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2014-09-21 16:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (172 votes), past polls