#!/usr/bin/perl # # PM1021473_3_unstable.pl # use strict; use warnings; use HTML::Entities; while () { s/\s+$//; my @args = split /\s+/,$_; push @args, my_sort(@args); printf "%-10s %-10s %-10s %d\n", @args; } ... your sort routine ... __DATA__ index.0001 afile article index.0001 index.0005 article index.9999 index.0005 article