前のエントリの続き。
普通の文字列''と、s/foo/bar/、もしくは1 != 0の結果のようなbooleanを返した結果の違いを見る、ってことだが
普通の文字列''と、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 );
}
これを通すと、区別が付く。
コメント