#!perl use strict; use warnings; use JSON::PP; my $json; { local $/ = undef; open my $fh, '<', 'in.json'; $json = <$fh>; close $fh; } my $final; my $decoded = decode_json($json); for my $ob ( @{$decoded->{observations}} ) { for my $status ( @{$ob->{status}} ) { for my $elem ( sort ( keys ( %{$status} ) ) ) { print $elem . "=" . $status->{$elem} . "\n"; } print "\n"; } }