in reply to Re: How to kill perl?
in thread How to kill perl?

Why doesn't unpack "P", 0 dump? I expected it to and this confused me.

The reason (on some level) is that pp_unpack() calls newSVpvn(), which calls sv_setpvn(), which has this code:

if (!ptr) { (void)SvOK_off(sv); return; }
In other words, unpack("P", 0) just returns an undefined SV. Since C code often uses null pointers in the same way that Perl code uses undef, I think this is more useful than crashing. :-)