eval 内で警告を非表示にする必要がありますが、残りのコードは引き続き警告メッセージをスローする必要があります。これが私が持っているものです-
eval "\$value = $hash->{key}";
$hash->{key} の値は、次のような関数呼び出しになる可能性があります。
$hash->{key} = "function(0.01*$another_var)";
問題$another_var
はundef
(または""
) の場合です。スクリプトは、次のメッセージで失敗します-
(eval 1381) 行 1 の乗算 (*) の引数 "" は数値ではありません。
これを回避する方法はありますか?私が考えていた1つのオプションは、括弧内の値を解析して最初に評価することでしたが、私が扱っているデータは非常に複雑です。