我正面临使用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)
有人可以告诉我如何正确地将参数传递给被评估的函数吗?
非常感谢你的帮助
问候.
弗洛朗