我在使用 eval 函数时遇到问题。
事实上,我在 SQL 数据库中有一些函数名,我的目标是在 perl 中执行这些函数(在 SQL 中检索之后)。
考虑到 $RssSource->{$k}{Proceed} 包含“&test”作为从 SQL 检索的字符串,这就是我正在做的事情:
my $str2 = "ABCD";
eval "$RssSource->{$k}{Proceed}";warn if $@;
sub test
{
my $arg = shift;
print "fct TEST -> ", $row, "\n";
}
这工作正常并显示:
fct TEST ->
但是我希望能够将 $str2 作为参数传递给 $RssSource->{$k}{Proceed} 但我不知道如何,我尝试的每个语法都返回一个错误:
eval "$RssSource->{$k}{Proceed}$str2"
eval "$RssSource->{$k}{Proceed}($str2)"
eval "$RssSource->{$k}{Proceed}"$str2
eval "$RssSource->{$k}{Proceed}"($str2)
有人可以告诉我如何正确地将参数传递给评估函数吗?
非常感谢你的帮助
问候。
弗洛朗