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

Re^4: shift vs @_

by radiantmatrix (Parson)
on Oct 06, 2006 at 16:36 UTC ( #576706=note: print w/replies, xml ) Need Help??

in reply to Re^3: shift vs @_
in thread shift vs @_

But it doesn't prevent me from being human and making a mistake.

Ok, firstly, you said that you can't easily do what you wanted, not that it was easy to make a mistake.

Secondly, attempting my $x, $y = @_ with strict in place (which is best practice anyhow) produces:

Global symbol "$y" requires explicit package name
Which would be a pretty big clue to me that something was wrong (you aren't creating a lexical $y with my $x, $y). Doing the same thing with warnings turned on (another best practice) results in:
Parentheses missing around "my" list

I'd say that pretty well prevents you from making this mistake, anyhow.

A collection of thoughts and links from the minds of geeks
The Code that can be seen is not the true Code
I haven't found a problem yet that can't be solved by a well-placed trebuchet

Replies are listed 'Best First'.
Re^5: shift vs @_
by exussum0 (Vicar) on Oct 06, 2006 at 20:01 UTC
    Frequently, I use strict and warnings, but there are times I don't. And sometimes prototypes become production code. They get copy pasted by some mad madness. It's possible to also do my $x = @_, which will work w/ strict and warnings.

    Unless I have a good reason, I prefer shifts. It's just a preference as defensive programming. 'cause one day, somehow a my $x, $y = @_, and someone will forget to use strict. And I'll be part blame for the assignment, someone else for the warnings and strictness.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://576706]
and cookies bake in the oven...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (8)
As of 2018-06-19 20:26 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (114 votes). Check out past polls.