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