in reply to SOLVED: How to load the subs without running the script

Another possibility: Override exit() before you do or eval monster.pl.

> perl -e ' use subs qw(exit); sub exit {}; exit(1); print "yes\n";' yes

There is more than one way to override a builtin function in perl, this one is described in http://modperlbook.org/html/6-4-1-exit.html