use strict; package Test; sub new {  my $self = {};  bless $self;  return $self; } package main; my $obj1 = Test->new(); my $obj2 = Test->new(); my $obj3 = Test->new(); $obj1->{DATE}="2005-01-01"; $obj2->{DATE}="2004-12-20"; $obj3->{DATE}="2005-01-02"; my @list = ($obj1,$obj2,$obj3); print $_->{DATE},"\n" for sort {$a->{DATE} <=> $a->{DATE}} @list; _ _ END _ _ 2005-01-01 2004-12-20 2005-01-02