It's telling you that somewhere on the 3rd line of the code passed to the 469th call to eval, you're using an undefined value. That's not very fun! Who knows where eval was called the 469th time? You could walk through your program and try to keep track of every time eval was called, but that's not very fun. So what to do?Use of uninitialized value in string eq at (eval 469) line 3.
Turn your warning handler into something more descriptive. At the top of your code, do this:
carp and confess are equivalent to warn and die, respectively, except that they print a stack trace as well as the error message. Now, rerun your code and getuse Carp; $SIG{__WARN__} = \&carp; $SIG{__DIE__} = \&confess;
No counting of eval calls required!Use of uninitialized value in string eq at (eval 469) line 3. at /home/alester/Lib/TW/CP.pm line 116
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: HOWTO: Finding errors "at (eval 469) line 3"
by tilly (Archbishop) on Apr 03, 2004 at 02:48 UTC | |
by zby (Vicar) on Apr 03, 2004 at 17:03 UTC | |
by tilly (Archbishop) on Apr 03, 2004 at 18:46 UTC | |
|
Re: HOWTO: Finding errors "at (eval 469) line 3"
by ysth (Canon) on Apr 04, 2004 at 13:18 UTC |