小编Alb*_*ert的帖子

使用eval插入变量时,请避免使用PerlCritic

perlcritic在下面的代码的第一个评估线上抱怨表达形式为"eval"[BuiltinFunctions :: ProhibitStringyEval]:

use strict;
use warnings;
use feature qw/say/;

my $hasTwitter = 1;
my $validEmail = 0;

my $rule   = '${hasTwitter} | ${validEmail}';
my $result = eval $rule;
say "Result ->  $result";

$result = eval { $rule };
say "Result -> $result";
Run Code Online (Sandbox Code Playgroud)

我尝试使用eval {}来修复perlCritic但是它不会返回预期的结果.

回应是:

Result ->  1
Result -> ${hasTwitter} | ${validEmail}
Run Code Online (Sandbox Code Playgroud)

是否有使用字符串插值的解决方法?我们的想法是在配置文件上有一组规则,让代码读取并评估它们.

谢谢

perl interpolation perl-critic

1
推荐指数
2
解决办法
173
查看次数

标签 统计

interpolation ×1

perl ×1

perl-critic ×1