#!/usr/bin/perl -w use strict; open DATA, "./data.txt"; # or wherever the file is my @data=; my @sorted = sort sort_func @data ; for(@sorted){print $_}; sub sort_func{ my ($a_dd,$a_mm,$a_yy)=$a =~ m|(\d*)/(\d*)/(\d*)|; my ($b_dd,$b_mm,$b_yy)=$b =~ m|(\d*)/(\d*)/(\d*)|; return ( $a_yy<=>$b_yy || $a_mm<=>$b_mm || $a_dd<=>$b_dd); }