FWIW and I don't think !!1 used to be dualvar (see Scalar::Util ) prior to 5.36.
It's actually a triplevar, and it has been so at least as far back as 5.6, but probably a lot further back.
I don't have 5.6, but here's 5.8.9:
$ 5.8.9/bin/perl -MDevel::Peek -e'Dump(!!1)' SV = PVNV(0x55e2de0d1348) at 0x55e2dd477310 REFCNT = 2147483647 FLAGS = (IOK,NOK,POK,READONLY,pIOK,pNOK,pPOK) IV = 1 NV = 1 PV = 0x55e2de0d2320 "1"\0 CUR = 1 LEN = 8 $ 5.8.9/bin/perl -MDevel::Peek -e'Dump(!!0)' SV = PVNV(0x55aeb71e8320) at 0x55aeb5e05da0 REFCNT = 2147483647 FLAGS = (IOK,NOK,POK,READONLY,pIOK,pNOK,pPOK) IV = 0 NV = 0 PV = 0x55aeb71e8300 ""\0 CUR = 0 LEN = 8
In reply to Re^4: Why is Dumper returning "!!1" for true file test?
by ikegami
in thread Why is Dumper returning "!!1" for true file test?
by nysus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |