У меня очень простая проблема Perl, которую я не могу понять на всю жизнь.
Я потребляю JSON отформатированные данные с конечной точки REST в perl скрипт. Данные имеют следующую форму:
{
"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
, однако, когда я пытаюсь индексировать в га sh, я ничего не получаю. Я пробовал следующее:
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
Есть идеи?