Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^3: Unexpected warning

by salva (Canon)
on Nov 18, 2013 at 15:08 UTC ( [id://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?

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1063114]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (8)
As of 2024-04-19 14:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found