I've been playing in Squeak recently and it has the best debugger I've ever seen before. Not only can I inspect any part of the running system, I can modify the code for anything, let the absence of methods or other exceptions serve as breakpoints, pop up a level (or many) in the stack and restart a function.
It's sweet. To make this happen in Perl 5 I'd need the following facilities that
"find the source for the thing that is executing"
"project an editor somewhere useful"
"be able to accept the edited code and replace it in the original file (this is difficult. maybe requires PPI)"
"Merge newly compiled block into running program. (trivial? for non-closures. needs rebinding for closures)"
"pop the stack to some arbitrary point. be able to restart the block"
This is just off the top of my head. Maybe it's not worth doing in Perl 5 but it'd be hella nice to have.
A custom runloop plus a little optional B::Op magic would fix up step one nice. If you can't do it in ten lines of code, that's because making B::Op's blessing code reusable is a lot more work than it should be.
You'd be my hero!
I remember programming in VisualWorks for Smalltalk in the 90's where we'd start coding by putting a halt in the source code and then just debug the program until it was done.