After being at my first meeting of the Nottingham Linux User's Group, I started thinking about proper exception handling. Why isn't there an exception class on the CPAN which, when encountering an exception, determines if it's being run in debug mode and if so, throws you into an interactive mode which allows you to examine and alter the call stack and resume execution? It seems bloody obvious and trivial to write (think PadWalker), but no one's bothered that I know of (you Smalltalk programmers can stop laughing now, thank you).
Perhaps later when I sober up ...
Ok, do this.
$DB::single = 1;
More info is available from the module documentation and from this p5p thread.