我使用 Data::Dumper 将我的数据序列化为 Perl 中的字符串。现在在另一个程序中,我试图通过使用反序列化它,eval
我得到:
Global symbol "$VAR1" requires explicit package name
我use warnings; use strict;
在我的程序中使用。
这是我eval
编写代码的方式:
my $wiki_categories = eval($db_row->{categories});
die $@ if $@;
/* use $wiki_categories */
我怎样才能禁用我的程序因为"$VAR1"
没有被声明为而死亡my
?
我应该在in"my "
之前附加吗?像这样:$db_row->{categories}
eval
my $wiki_categories = eval("my ".$db_row->{categories});
我还没有对此进行测试,但我认为它会起作用。
还有其他方法可以做到这一点吗?也许将它包装在某个块中,然后对该块关闭严格?我从来没有做过,但我看到它提到过。
任何帮助表示赞赏!