# supporting constants: my %fnum = { 'region' => 0, 'date' => 1, 'type' => 2, 'channel' => 3 }; my $fsize = 4; sub reduce { my ($dc,$f) = @_; # sort fields to keep in decending order my @keep = reverse sort map { $fnum{$_} } @$f; for $cnt ($fsize-1 .. 0) { # hard code goes here! lol } }