Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris

Re^2: How to kill perl?

by robin (Chaplain)
on Nov 04, 2005 at 18:35 UTC ( [id://505833] : note . print w/replies, xml ) Need Help??

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. :-)