perl json映射创建问题
我是perl新手(我几乎什么都不懂:-) 我有一个脚本可以在本地计算机上运行,但不能在服务器上运行:-( 它看起来像:perl json映射创建问题,json,perl,Json,Perl,我是perl新手(我几乎什么都不懂:-) 我有一个脚本可以在本地计算机上运行,但不能在服务器上运行:-( 它看起来像: my $json = JSON->new; my $json_map = []; for (my $i = 0; $i <= $#commitlist; $i++) { my %co = %{$commitlist[$i]}; ... push $json_map, {esc_html($co{'id'})=> {author=>e
my $json = JSON->new;
my $json_map = [];
for (my $i = 0; $i <= $#commitlist; $i++) {
my %co = %{$commitlist[$i]};
...
push $json_map, {esc_html($co{'id'})=> {author=>esc_html($co{'author'}),pubDate=>$cd{'rfc2822'},link=>$co_url, title=>esc_html($co{'title'})}};
}
my $output = $json->encode($json_map);
print $output . "\n";
但现在我在服务器上遇到了以下问题(有perl 5.8.8版本,但我想在脚本中修复它):
要推送的arg 1的类型必须是“};”附近XX行XX处的数组(非私有变量)当您进行推送时,您需要取消引用第一个参数(即您正在推送内容的数组)。如下所示:
push @$json_map, ...
希望这能有所帮助。当您进行推送时,您需要取消引用第一个参数(即您正在将内容推送到的数组)。如下所示:
push @$json_map, ...
希望这能有所帮助。较新版本的Perl(从5.13左右开始)接受对push
的数组引用,这可能是它在提问者的本地机器上工作的原因。较新版本的Perl(从5.13左右开始)接受对push
的数组引用,这可能是它在提问者的本地机器上工作的原因。