我有一个非常简单的 Perl 问题,我一生都无法弄清楚。
我在 perl 脚本中使用来自 REST 端点的 JSON 格式的数据。数据形状如下:
{
"ScriptRunning": true
}
还有一些其他的东西,但我真正关心的是 ScriptRunning 标签。我正在使用 JSON::Syck::Load 使用这些数据,如下所示:
my $running_scripts = JSON::Syck::Load($output_from_rest_call)
(在我当前的环境中,无法为 CPAN 获取其他库,所以我坚持这样做)。据我所知,所有这些都正常工作,我使用 Data::Dumper 来确认数据看起来不错:
$VAR1 = {
'ScriptRunning' => 1 # or '' if false
}
但是,我无法弄清楚如何实际获得“ScriptRunning”的值。我已经完成print ref $running_scripts
并确认它是一个HASH
,但是当我尝试索引哈希时,我什么也没得到。我尝试了以下方法:
my $script_is_running = $running_scripts{'ScriptRunning'};
my $script_is_running = $running_scripts{ScriptRunning};
my $keys_in_running_scripts = keys $running_scripts; # keys_in_running_scripts is empty
my $keys_in_running_scripts = keys %running_scripts; # keys_in_running_scripts is empty
有任何想法吗?