eval関数の使用で問題が発生しています。
実際、私はSQLデータベース内にいくつかの関数名を持っています。私の目標は、perl内でそれらの関数を実行することです(SQLで取得した後)。
$ RssSource-> {$ k} {Proceed}にSQLから取得した文字列として「&test」が含まれていることを考慮して、これが私が行っていることです。
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)
評価された関数に引数を適切に渡す方法を誰かに教えてもらえますか?
あなたの助けをどうもありがとう
よろしく。
フローレント