foreach my $sheet (keys %{ $doc{'_source'}{'sheets'} }) { foreach my $columns (@{ $doc{'_source'}{'sheets'}{$sheet}{'formulates'} }) { # ... #### for my $sheet (values %{ $doc->{_source}{sheets} }) { for my $columns ( values %{$sheet} ) { for my $one ( @{ $columns }) { print "$_->{formula} \n" for values %{$one}; } } } #### ((DelvSts = Deleted + RcdTyp = DelAck) & RcdTyp = DelRecpt) ((DelvSts = UserIncomingSMBarred & LFR = SMSC_PR_LC_SMSC_Encoding_Error) | RcdTyp = DelRecpt) (RcdTyp = DelAck + OrigInf = SMPP)