#!/usr/bin/perl -w use strict; my @FILE = ('123|title|1/1/01','123|btitle|1/1/01','123|atitle|1/1/01'); print @FILE,"\n"; my @output = map { $_->[0] } sort { $a->[1] cmp $b->[1] } map { [$_, (split(/\|/,$_))[1]] } @FILE; print @output,"\n";