perlcriticは、以下のコードの最初の eval 行でExpression form of "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";
perlCritic を修正するために eval {} を使用しようとしましたが、予期した結果が返されません。
応答は次のとおりです。
Result -> 1
Result -> ${hasTwitter} | ${validEmail}
文字列補間を使用した回避策はありますか? アイデアは、構成ファイルに一連のルールを設定し、コードがそれらを読み取って評価できるようにすることです。
ありがとう