Leon decided that what was needed was new Perl debugger and Lo! Devel::ebug was born. A teensy bit hacky but much better than perl5db.pl was. It claimed to be a "a simple, extensible Perl debugger" but, to be honest, it wasn't very extensible and, given my love of plugins I decided to hack in plugins using, what else, Module::Pluggable.
This required more than a bit of Yak shaving (doesn't it always) some of it wasted because Leon also duplicated bits of my refactor but in the end I got it all working and very nifty it was too.
Bizarrely Devel::ebug doesn't work under 5.8.0 my patches or no - apparently this is a known problem and I can fix bits of it by changing
use IO::Socket::INET; use String::Koremutake; use YAML; use Module::Pluggable search_path => 'Devel::ebug::Backend::Plugin', require => 1;
into
BEGIN { require IO::Socket::INET; require String::Koremutake; require YAML; require Module::Pluggable;
IO::Socket::INET->import; String::Koremutake->import; YAML->import; Module::Pluggable->import( search_path => 'Devel::ebug::Backend::Plugin', require => 1 );
sub DB {}; };
but the breakpoints stop working and ... bah, I'll let someone else figure it out.