前のエントリの続き。

普通の文字列''と、s/foo/bar/、もしくは1 != 0の結果のようなbooleanを返した結果の違いを見る、ってことだが

use B; sub SV_isPV { my $x = shift; my $flags = B::svref_2object(\$x)->FLAGS;; return (! ( $flags & 0x00010000 ) ) && ( $flags & 0x00040000 ); }
これを通すと、区別が付く。