是否有一种方法可以将string
变量插值到code
?这就是我想要做的,当然它甚至不会编译。
my $cmd = " + 5 ";
my $a = 3;
$a = $a { $cmd };
say $a;
[您可以尝试使用EVAL
,但是请注意,如果您无法完全控制要评估的字符串(例如,考虑使用EVAL
这样的东西,则使用EVAL
是危险的:]
EVAL 'shell "rm -rf *"'
输出:
use MONKEY-SEE-NO-EVAL;
my $cmd = " + 5 ";
my $a = 3;
$a = EVAL( EVAL '$a ~ $cmd' );
say $a;
注意:
[C0行]将串联运算符合并到要评估的字符串中。如果不需要这样做,可以将其简化为8
(如@ W4anD0eR96所建议)