Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Re: my $x or my ($x)

by davidrw (Prior)
on Apr 04, 2006 at 13:24 UTC ( [id://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 ... }

Replies are listed 'Best First'.
Re^2: my $x or my ($x)
by johngg (Canon) 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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://541142]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (4)
As of 2024-04-16 05:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found