更改地图返回的上下文?

Tim*_*mmy 2 perl

我正在尝试将JSON字符串解析为数组引用:

my $str = '[[2],[1]]';
my $data = map { $_->[0] } @{decode_json( $str )};
Run Code Online (Sandbox Code Playgroud)

但这使它成为一个标量.我可以:

my $str = '[[2],[1]]';
my @data = map { $_->[0] } @{decode_json( $str )};
my $data = \@data;
Run Code Online (Sandbox Code Playgroud)

但它并不像我喜欢的那么短.任何帮助?

Chr*_*ung 11

怎么样:

my $str = '[[2],[1]]';
my $data = [map {$_->[0]} @{decode_json($str)}];
Run Code Online (Sandbox Code Playgroud)