我有一个小问题。我正在使用 LWP::useragent 并发布到另一个脚本。在该脚本中,我正在对 json 字符串和匿名数组中传递的多个文件执行一些逻辑。一切都很顺利,直到我尝试将要传递的多个文件推送到一个数组中并将其作为匿名数组中的数组引用传递。
open (IMAGE, "./flower.jpg") or die "$!";
open (IMAGE2, "./fw4.pdf") or die "$!";
$raw_string1 = do{ local $/ = undef; <IMAGE>; };
$raw_string2 = do{ local $/ = undef; <IMAGE2>; };
my @file_array;
push(@file_array, $raw_string1);
push(@file_array, $raw_string2);
my $array_ref = \@file_array;
my $data = [json_string => $json, file_array => $array_ref];
my $ua = LWP::UserAgent->new;
$res = $ua->request(POST($url, $data));
在 catch 脚本中,我读取了从匿名传递到散列的参数。我可以毫无问题地访问 json 字符串传递,例如:
my $json_post = $params{'json_string'};
然后我对它进行解码并用它做我想做的事,一切都很好。所以我想我可以像这样访问数组引用:
my $array_ref = $params{'file_array'};
my @array = @$array_ref;
也试过
my @array = @{$array_ref};