foreach $host ( keys %hash ) { foreach $batch ( keys %{$hash{$host}} ) { foreach $run ( keys %{$hash{$host}{$batch}} ) { #print $hash{$host}{$batch}{$run}{'duration'}, "\n"; print $hash{$host}{$batch}{$run}{'start'}, "\n"; #How do I sort by this? #print $hash{$host}{$batch}{$run}{'end'}, "\n"; foreach $job ( keys %{$hash{$host}{$batch}{$run}{'jobs'} ) { print $hash{$host}{$batch}{$run}{'jobs'}{$job}{'start'}, "\n"; #How do I sort by this? } } } }