my $program = $hash->{Program} || ''; my $jira = $hash->{JIRA} || ''; my $qa = $hash->{QA} || ''; my $dev = $hash->{DEV} || ''; if ( $program && $jira ) { push @{ $data->{ $program }{ $jira }}, $hash; $hash = {}; } elsif ( $program && $qa) { push @{ $data->{ $program }{ $qa}}, $hash; $hash = {}; } elsif ( $program && $dev) { push @{ $data->{ $program }{ $dev}}, $hash; $hash = {}; } } else ... .... ....