Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

my @ARGV

by szabgab (Priest)
on Dec 08, 2008 at 20:30 UTC ( #729032=note: print w/ replies, xml ) Need Help??


in reply to Little annoying mistakes ... of others

Peter Scott suggested on Perl 5 Porters to warn if a user tries to declare my @ARGV as currently it just silently hides the real @ARGV.

There are some more issues in that thread on the mailing list.


Comment on my @ARGV
Re: my @ARGV
by ikegami (Pope) on Dec 08, 2008 at 21:12 UTC
    So does my $_; and my $var;. Is there a case where my doesn't create a new variable?
      my $_ is new with 5.10.0, and switches anything in the scope that by default is using the global $_ to using the lexical $_ instead.

      my @ARGV has no such magic. readline or eof will continue to default to using the global @ARGV, even though there's a lexical @ARGV in scope. This is the reason for a warning.

        My point is that I am looking for cases of Perl code that compile under use strict. Don't generate warnings under use warnings but don't do the expected by a beginner.

        After being told to use strict and declare everything with my, a beginner will go out and do just that. Declare everything with my:

        my (@ARGV, $a, $b, $_, $AUTOLOAD);
        you could give them a list of special cases but IMHO it is a waste of brain cycles - at that point in the learning curve. Probably they will not learn them and the whole thing will just confuse them.

        My plan is to provide a tool that can find such cases and warn about them.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (13)
As of 2014-09-03 06:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (35 votes), past polls