У меня небольшая проблема. Я использую LWP :: useragent и отправляю сообщение в другой скрипт. В этом скрипте я выполняю некоторую логику в строке json и нескольких файлах, переданных в анонимном массиве. Все шло хорошо, пока я не попытался нажать несколько файлов, которые я передавал в массив, и передать это как ссылку на массив в анонимном массиве.Ссылка на анонимный массив LWP, содержащий ссылку на массив, встречается как массив с одним элементом
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};
Вы пишете клиент для существующего сервера, или вы также проектируете сервер? В первом случае, каковы спецификации? В последнем случае, каковы ваши требования? – ikegami
Сервер уже существует. Я не уверен, что такое спецификации, я новичок и не имею доступа. Я даже не мог подобрать достойное предположение о том, что такое спецификации. – kyle
Тогда как вы ожидаете предоставить то, что он хочет? – ikegami