This check has always been highly fragile (sorry for the Windows command line quoting):
perl -Mutf8 -e "$x = qq(42); if( 0+$x ) {}; if ($x ^ $x) {print qq(str +ing\n);}"
That oneliner outputs nothing thus considers $x not a string even if $x was never "modified". A simple check of a variable can change what "value type" your test considers that variable to contain.
In reply to Re: detecting of scalar is string or numeric
by Corion
in thread detecting of scalar is string or numeric
by vkhera
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |