{ "1": {"subject1": "value", "subject2": [{"subject3": "value", "subject4": "value"}], "subject5": "value", "subject6": value, "subject7": "value"}, "2": {"subject1": "value", "subject2": [{"subject3": "value", "subject4": "value"}], "subject5": "value", "subject6": value, "subject7": "value"}, "3": {"subject1": "value", "subject2": [{"subject3": "value", "subject4": "value"}], "subject5": "value", "subject6": value, "subject7": "value"} } #### my $jsonfeed = (above json format!) my $json = new JSON; my $data = $json->decode($jsonfeed); my $value = "$data->{1}->{subject1}"; foreach my $array(@{$data->{1}->{subject2}}){ my %hash = (); $hash{subject3} = $array->{subject3}; }