in reply to Stopping script execution from within the code like Python's pdb

While Corion has answered the primary question, I have very rarely found it necessary to do this. Rather, just loading the script in the debugger and running it from there is usually the way to go.

perl -d script.pl some arguments here

Only if the script is very CPU intensive, and the normal debugger slowdown (~10x in my experience) is untenable, would I resort to $DB::Single.

Is there a reason you don't want to use the normal breakpoint features in Perl's debugger?

-QM
--
Quantum Mechanics: The dreams stuff is made of