@sorted = sort { surname($a) cmp surname($b) } @lines; #### sub surname { my $line = shift; my @fields = split(/\|/, $line); my $fullname = $fields[1]; # extract full name my ($first, $last) = split(/ /, $fullname); return $last; }