sub process { my $all = shift; my %run_all = %$all; foreach my $key (keys %run_all){ print "$key\n"; foreach my $entry (@{$run_all{$key}}) { while (my ($k, $v) = each %$entry) { print "$k => $v\n"; } } print "\n"; } }