What's wrong with the existing Perl debugger, you ask? Well, it's a bit, errr "crufty". It's grown organically, is quite huge, doesn't have a test suite, and contains amusing comments. For some reason, I was dreaming of an object oriented interface to debugging a program, which would make writing debugger front-ends easy.
So, like any good little extreme programmer, I sat down and wrote a few tests before writing any code:
my $ebug = Devel::ebug->new;
Well, there were more tests. I mean, there's quite a few things you might want to do in a debugger, like set break points (with conditions), set watch points (conditions sans a line number), inspect variables, evaluate code, return from subroutine and more.
So I sat up late into the night, hacked on Perl code, and a few hours later had a new Perl debugger with tests and documentation. I reckon autrijus' energy must be rubbing off onto me.
Ok, so it doesn't do everything you might want a debugger to do, but I did manage to build a complete Perl debugger in a few hours, which has a nice OO interface, and a web frontend. Neat, huh?
Of course, what's really scary is that this isn't an April Fool's joke. It's actually on CPAN as Devel::ebug. Patches welcome. Enjoy.