my $fieldtosort = 9; # person, for now. my @data = ; my @sorted = map { $_->[0] } sort sortf map { [$_, split /\|/ ] } @data; print @sorted; # sort by $fieldtosort sub sortf { $a->[$fieldtosort] cmp $b->[$fieldtosort]; } __DATA__ id|projname|status|submitdt|assign_dt|total|complete_dt|person|dept|closed_dt