私はperlでこれを行うだけでスカラーを補間できることを知っています:
"This is my $string"
しかし、評価する実際のPerlコードを補間できる方法があるかどうか疑問に思っていますか?私が欲しいもののアイデアは、ルビーの文字列で見ることができます:
"5 + 4 = #{5 + 4}"
そして、の間にあるものは何でも評価し{}ます。
Perlでこれを行う方法を知っている人はいますか?ありがとう!
私はperlでこれを行うだけでスカラーを補間できることを知っています:
"This is my $string"
しかし、評価する実際のPerlコードを補間できる方法があるかどうか疑問に思っていますか?私が欲しいもののアイデアは、ルビーの文字列で見ることができます:
"5 + 4 = #{5 + 4}"
そして、の間にあるものは何でも評価し{}ます。
Perlでこれを行う方法を知っている人はいますか?ありがとう!
次のトリックを使用できます。
"5 + 4 = @{[ 5 + 4 ]}"
または、次を使用できますsprintf。
sprintf("5 + 4 = %d", 5 + 4);
これらのいずれかにより、目的の文字列が生成されます。sprintf補間された値のタイプをいくらか制限できるので、間違いなく、最初のものより安全です。ただし、最初のものは、精神的にはあなたが望むものに近いものです。
文字列で計算を補間する場合は、次の3つのことを実行できます。
を使用し@{[]}ます。3番目の括弧内に、必要な式を配置します。
を使用し${\ do {}}ます。式を2番目の中括弧内に配置します。
単純な文字列連結を使用します。$targetstring = "$string1".func()."$string2"ここでfunc()、動的コンテンツが含まれます。
print "5 + 4 = ", 5 + 4;
引用符の外に移動するだけです。引用符で囲むように強制することに意味はありますか?
printfたとえば、次のコマンドを使用して、もう少しフォーマットを行うことができます。
printf "5 + 4 = %s\n", 5 + 4;
あなたが使用することができますeval:
eval('$a = 4 + 5');
念のために言っておきますが、eval慎重に使用する必要があります。かなり危険です。