Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re^3: Unexpected warning

by salva (Monsignor)
on Nov 18, 2013 at 15:08 UTC ( #1063114=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Unexpected warning
in thread Unexpected warning

I can reproduce it myself too now:

tst(undef); # doesn't warn from tst tst($foo{undef}); # doesn't warn from tst tst($foo{$undef}); # warns from tst
I would say this is a bug in perl, or I am missing something?


Comment on Re^3: Unexpected warning
Download Code
Re^4: Unexpected warning
by samwyse (Scribe) on Nov 18, 2013 at 16:14 UTC

    The undef value is subtly different from using an undefined variable, so that may be causing the problem.

    tst($foo{undef});  # doesn't warn from tst

    This uses the undef value as a key into the %foo hash; the key presumably doesn't exist so Perl returns undef. This is working as I would expect.

    tst($foo{$undef});  # warns from tst

    This looks up the value of $undef, which presumably isn't defined, so Perl should flag an error at that statement, not inside tst. If that is the case, then it, too, is working as I would expect.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (15)
As of 2014-07-11 15:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (230 votes), past polls