sub DESTROY { warn "Destroying $_[0][0]...\n"; die "Die from $_[0][0]\n" } $global= "before"; eval {{ local $global= bless ["global"]; die "Die inside eval.\n" unless @ARGV; }}; warn "global($global) eval($@)\n";