All scalars are already schizophrenic
This has little to do with the values, and more with the operations you are doing. If a value starts with a number, it will be treated as that number when used in numeric operations. And it will issue a warning if it is followed by non-numeric data, as you demonstrated. "0z" is not comparing as "less than zero", it is comparing equal to zero. And the ++ operator has two different functions depending on what type of input it is given.
This is even more weird.. I want to see if the numeric part of a filehandle was the same of what fileno returned.. it would be fun.. but no fileno
The value shown is a GLOB reference, which internally contains the file handle in its IO slot. All references, aside from objects using overloading, numify to their refaddr.
$ perl -le'my $ref = []; print $ref; printf "%s(0x%x)", ref $ref, 0+$ref;' ARRAY(0x15500a648) ARRAY(0x15500a648)
In reply to Re^2: Schizophrenic var
by Haarg
in thread Schizophrenic var
by bliako
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |