@H_301_2@
我知道在perl中你可以通过简单地执行以下操作来插入标量:
"This is my $string"
但是,我想知道是否有一种方法可以插入实际的perl代码进行评估?使用ruby字符串可以看到我想要的想法:
"5 + 4 = #{5 + 4}"
它将评估{}之间的任何内容.
有谁知道在perl中这样做的方法?谢谢!
解决方法
您可以使用以下技巧:
"5 + 4 = @{[ 5 + 4 ]}"
或者,您可以使用sprintf
:
sprintf("5 + 4 = %d",5 + 4);
这些中的任何一个都产生所需的字符串.可以说,sprintf比第一个更安全,因为你可以稍微限制插值的类型.然而,第一个在精神上与你想要的更接近.
进一步阅读:
> Why does Perl evaluate code in ${…} during string interpolation?
@H_301_2@