in reply to tracing eval

I would suggest the module Devel::Trace.

Use it like this:

perl -d:Trace qqq.pl
It will trace the execution line-by-line. This will be verbose, but you can grep the output for where your failure happens.