my $AoH = [ { name => "Bob", gender => "M" }, { name => "Sue", gender => "F" }, { name => "Mike", gender => "M" } ]; #### my $template->param( men => all pairs where $AoH{gender] eq "M", women => all pairs where $AoH{gender] eq "F" ); #### my ($men, $women); my $m = 0; my $w = 0; for my $i ( 0 .. $#$AoH ) { if ($AoH->[$i]{gender} eq "M") { $men->[$m] = $AoH->[$i]; $m++; } else { $women->[$w] = $AoH->[$i]; $w++; } } my $template->param( men => $men, women => $women );