I don't think this really has to do with die specifically. For example,
perl -e 'undef %::; sub{}->()'
crashes too. Lots of thing crash when you've totalled the defstash! But perhaps that just indicates a pervasive assumption, which really needs to be fixed in lots of different places.
See also bug 32401.
PS. Getting a bit more targeted:
perl -e 'delete $::{"@"}; warn' ;# crashes
perl -e 'delete $::{"@"}; sub{}->()' ;# doesn't crash
perl -e 'delete $::{"_"}; warn' ;# doesn't crash
perl -e 'delete $::{"_"}; sub{}->()' ;# crashes
I suppose that wiping out important global variables oughtn't to be allowed, really.
PPS. Let's see what the p5p hive mind thinks. |