sub BEGIN { *CORE::GLOBAL::die = \&DIE_2_WARN ; $SIG{__DIE__} = \&DIE_2_WARN ; } sub DIE_2_WARN { warn(@_) ;} die("This die() won't exit!") ; print "And here we continue the app...\n" ; eval { die("die inside eval!"); print "Won't go out of eval!\n" ; } ; #### sub BEGIN { *CORE::GLOBAL::die = \&DIE_2_WARN ; $SIG{__DIE__} = \&DIE_2_WARN ; } sub DIE_2_WARN { if ( $^S ) { CORE::die(@_) ;} else { warn(@_) ;} } die("This die() won't exit!") ; print "And here we continue the app...\n" ; eval { die("die inside eval!"); print "And this print won't be executed.\n" ; } ; print "ERROR: $@\n" ;