in reply to
A phantom death
Not yet mentioned: If everything fails, there's always the lowlevel approach of using the perl -d, type s<CR>, then keep <CR> pressed: this should give you the the last few lines of code before it dies, and thus an idea what actually happens. Maybe with a suitable breakpoint to speedup reaching the problematic line. man perlrun, man perldebug. Printing the arguments of the dying function call might also help -> perldoc -m Data::Dumper once again.
Meta: shouldn't there be an existing help/faq node on basic debugging; or do we assume this to be well-known?