Use of uninitialized value in string eq



Hello list!

I apologize in advance for not posting a complete sample script that
shows my problem, but I can't isolate it outside of my (rather large)
perl application.

My problem is that I'm hit with a barrage of warnings that tell me I'm
using uninitialized values. The first warning that occurs complains
of a "use of uninitialized value in string eq" at line 505 of my
script. Line 505 (I've triple-checked the line number and the correct
source) reads:

if ($exploit_name eq 'ALL') # <-- line 505

I had no idea how $exploit_name could be undefined, so I added the
following two statements right before the if statement:

print "\$exploit_name is not any sort of false\n" if $exploit_name;
print "String literal is not any sort of false\n" if 'ALL';
if ($exploit_name eq 'ALL') # <-- now line 507

I originally only check if the two strings were defined, but then I
read in perldiag that "An undefined value was used as if it were
already defined. It was interpreted as a "" or a 0, but maybe it was a
mistake. To suppress this warning assign a defined value to your
variables." So, to be safe, I verified that neither $exploit_name nor
'ALL' could be any kind of false value.

But still, this is my output:

$exploit_name is not any sort of false
String literal is not any sort of false
[*] WARNING: Use of uninitialized value in string eq at spinsploit.pl
line 507, <STDIN> line 2.

The '[*] WARNING: " bit comes from a module I'm using, which catches
SIG{__WARN__} and just prepends that string. I stepped through the
module's warning catcher with the debugger, and it was definitely sent
"Use of uninitialized value in string eq at spinsploit.pl line 507,
<STDIN> line 2." as a $_[0] value. I don't see how it could affect
the warning it was sent.

How is this possible? Any suggestions of other tests I could print
the output of or things to step through with the debugger?

- Jen
.



Relevant Pages

  • Re: Use of uninitialized value in string eq
    ... > I apologize in advance for not posting a complete sample script that ... > of a "use of uninitialized value in string eq" at line 505 of my ... To suppress this warning assign a defined value to your ... > module's warning catcher with the debugger, ...
    (perl.beginners)
  • Re: Use of uninitialized value in string eq
    ... I apologize in advance for not posting a complete sample script that ... the line of the warning may be wrong. ... $exploit_name is not any sort of false ... module's warning catcher with the debugger, ...
    (perl.beginners)
  • Re: Adventures in PHP - First steps.
    ... > It might be nice of it to issue a warning of some sort. ... If someone intentionally wants to turn a string into an int, ... Bill, mutter mutter. ...
    (comp.programming)
  • Re: Function Warning - Null Reference
    ... Warning 1 Function 'Dec2hms' doesn't return a value on all code paths. ... These include String, Integer, DateTime and Boolean ...
    (microsoft.public.dotnet.languages.vb)
  • Re: Function Warning - Null Reference
    ... Warning 1 Function 'Dec2hms' doesn't return a value on all code paths. ... null reference exception could occur at run time when the result is used. ... default value for a String is String.Empty, the default value for an Integer ...
    (microsoft.public.dotnet.languages.vb)