我编写了一个perl脚本,该脚本访问JIRA REST API以获取与特定JQL查询匹配的问题列表。有时候你的结果只有一个问题,有时我会回来。
$client->GET(
$apiPath.$jql.$fieldRes,
$headers);
#a perl hash of results
my $response = from_json($client->responseContent());
虽然$ response是一个perl哈希值,但如果我尝试深入查看哈希值,我就遇到了问题。
有一系列"问题"在哈希内。
我正在尝试使用" foreach"对于每个特定问题,但我一直收到错误:
foreach my $issues ($response->{'issues'})
{
print STDERR Dumper($issues->{'key'});
}
...错误
Pseudo-hashes are deprecated at script.pl line #.
Argument "JIRA-10011" isn't numeric in hash element at script.pl line #.
Bad index while coercing array into hash at script.pl line #.
感谢任何帮助
答案 0 :(得分:1)
有一系列"问题"在哈希内。
您不能将数组放入Perl中的哈希值,这只适用于数组引用。因此,在使用foreach
迭代哈希(ref)时需要取消引用它。
foreach my $issues ( @{ $response->{'issues'} } )
{
print STDERR Dumper($issues->{'key'});
}
由于每次迭代都会遇到一个问题,因此您应该将$issues
重命名为$issue
,这样您以后就不会感到困惑。