Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re^3: The error says the value is uninitialized, but it works anyway

by jcb (Chaplain)
on Aug 18, 2019 at 22:30 UTC ( #11104665=note: print w/replies, xml ) Need Help??


in reply to Re^2: The error says the value is uninitialized, but it works anyway
in thread The error says the value is uninitialized, but it works anyway

Hmmm... You are right. I have edited my earlier post to correct the misinformation.

It seems that I had confused Perl, SQL, and Lisp while writing that. As I recall, there is only one undef value in perl, and DBI (see also DBI recipes) maps SQL NULL and Perl undef. Here are the tests I ran before writing that post:

  • $ perl -we 'print "T\n" if "foo" eq "foo"'
    T
  • $ perl -we 'print "T\n" if undef eq "foo"'
    Use of uninitialized value in string eq at -e line 1.
  • $ perl -we 'print "T\n" if undef eq undef'
    Use of uninitialized value in string eq at -e line 1.
    Use of uninitialized value in string eq at -e line 1.
    T

Spotted the missing test yet? Try:

  • $ perl -we 'print "T\n" if undef eq ""'
    Use of uninitialized value in string eq at -e line 1.
    T

Since the message specifically mentions use of undef in eq, I had assumed that eq actually sees the undefined value, instead of stringifying it like any other value. Wrong!

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2019-11-21 21:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Strict and warnings: which comes first?



    Results (105 votes). Check out past polls.

    Notices?