Мне нужно скрыть предупреждения в eval, но остальная часть кода должна продолжать выдавать предупреждающие сообщения. Вот что у меня есть -
eval "\$value = $hash->{key}";
теперь значение $ hash -> {key} может быть вызовом функции, например:
$hash->{key} = "function(0.01*$another_var)";
Проблема возникает, когда $another_var
равен undef
(или ""
). Скрипт просто выдает следующее сообщение -
Аргумент "" не является числовым в
умножение (*) в строке (eval 1381)
1.
Любые предложения, как я могу избежать этого?
Один из вариантов, о котором я думал, это сначала проанализировать значение в скобках и оценить его, но это довольно сложно с данными, с которыми я имею дело.