Допустим, у меня есть текстовый файл, созданный с помощью Data::Dumper
, в строках:
my $x = [ { foo => 'bar', asdf => undef }, 0, -4, [ [] ] ];
Я хотел бы снова прочитать этот файл и вернуть $x
. Я пробовал это:
my $vars;
{
undef $/;
$vars = <FILE>;
}
eval $vars;
Но это не сработало -- $x
не только не определено, когда я пытаюсь его использовать, я получаю предупреждение, что
Глобальный символ $x требует явного имени пакета.
Как правильно это сделать? (И да, я знаю, что это уродливо. Это быстрый служебный скрипт, а не, например, система жизнеобеспечения.)