私は、JSONに似た何かをperl構造体から出力することを書いています。私はこのように動作するように引用したい: スカラーがストリング化されているかどうかをテストする方法はありますか?
"string" outputs "string"
"05" outputs "05"
"5" outputs "5"
5 outputs 5
05 outputs 5, or 05 would be acceptable
JSON :: XSは、スカラーは、私は非常にクールだと思うこれは、ない「文字列化」されている場合、またはテストすることによって、これを処理します。しかし、XSを書くことなく自分でこのテストを行う方法は見つけられません。これは可能ですか?私はScalar :: Util :: looks_like_numberなどについて広範なpedantryを見つけることなく、CPAN上でこれを見つけることはできません。これは完全に私が望むものではありません。私が見つけることができる唯一の欠点はDevel :: Peekであり、これは悪を感じる。そしてまた、ちょうどJSON :: XSのように、私はこのsecenarioと元気です:
my $a = 5;
print $a."\n";
# now $a outputs "5" instead of 5)
SVタイプとは関係ありません。これはpPOKフラグと関係しています。 – ikegami
たとえば、 'my $ x =" "を見てください。 $ x = 5;私のy = 5; "" $ y; '。両方ともPVIVですが、1つだけが「弦」です。 – ikegami
私はそれにも気づいた。 Bさんが実際に提供したものを掲載してくれればいいですね!残念ながら、 'SvGETMAGIC'は利用できません。 – ikegami