The difference is more visible this way:
use Devel::Peek;
Dump("");
Dump(!1);
The output of which is
SV = PV(0x816d944) at 0x8163c48
REFCNT = 1
FLAGS = (PADBUSY,PADTMP,POK,READONLY,pPOK)
PV = 0x8167830 ""\0
CUR = 0
LEN = 1
SV = PVNV(0x814d6a0) at 0x814c600
REFCNT = 2147483647
FLAGS = (PADBUSY,PADTMP,NOK,POK,READONLY,pNOK,pPOK)
IV = 0
NV = 0
PV = 0x814d678 ""\0
CUR = 0
LEN = 1
| [reply] [Watch: Dir/Any] [d/l] |
Ah, interesting; I guess Perl DWIMs this so well I had never paid enough attention to notice the subtlety. Reminds me of the games some people played elsewhere on the Monastery quite a while ago with scalars that had specific, different values when evaluated as numbers or as strings (without overloading, if memory serves). (Alas, I cannot remember any useful keywords to Super Search it.)
Makeshifts last the longest.
| [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] [d/l] |
Yes, that’s precisely the kind of thing I’m talking about. The nodes I am thinking of predate Scalar::Util and instead used a bit of voodoo to achieve the effect, though.
And thanks for pointing me that way – I didn’t know Scalar::Util had such a utility function. Plus now I see several new interesting functions in recent versions that I hadn’t noticed before. I need to do some homework here!
Makeshifts last the longest.
| [reply] [Watch: Dir/Any] |