use feature qw{ say }; if (is_hashref($decodedJSON) && exists $decodedJSON->{items}) { for my $item (@{ $decodedJSON->{items} }) { say $item->{name} if exists $item->{name}; if (exists $item->{address} && is_hashref($item->{address})) { for my $key ( qw( address_line_1 address_line_2 locality region postal_code ) ) { say $item->{address}{$key} if exists $item->{address}{$key}; } } } }