You should use Devel::Trace. That would save you a lot of adding checkpoints :)
FWIW, I also use the invaluable Devel::TraceUse to find out why a script works flawless on machine A where it fails on machine B and quite often find out that it isn't my code that fails, but a bad/old module that is not updated on machine B.
In reply to Re^2: When my script doesn't work, I ...
by Tux
in thread When my script doesn't work, I ...
by cavac
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |