C:\Users\alex>perl -Mstrict -w -E "sub false { 0 } my $x=false or die 'Died'; say 'not reached';" Died at -e line 1. #### C:\Users\alex>perl -MWin32 -E "sub false { 0 } eval { my $x=false or die 'Died'; say 'not reached'; 1 } or Win32::MsgBox(qq[$@]);" #### C:\Users\alex>perl -Mstrict -w -E "BEGIN { *CORE::GLOBAL::die=sub { 'I am evil' } } sub false { 0 } my $x=false or die 'Died'; say 'not reached';" not reached #### C:\Users\alex>perl -Mstrict -w -E "BEGIN { *CORE::GLOBAL::die=sub { 'I am evil' } } sub false { 0 } my $x=false or die 'Died'; say 'not reached, $x=',$x;" #### not reached, $x=0