in reply to Tracing an Uninitialized Error

Add the following to the beginning of your code, then run in debug:

 $SIG{__WARN__} = sub { $DB::single = 1 };

That will stop execution whenever a warning is generated. You can inspect the variables at that point to determine which is undefined.

Update: added = between } and sub