use strict;
sub create_obj {
my $self = {};
bless $self;
return $self;
}
my $obj1 = create_obj();
my $obj2 = create_obj();
my $obj3 = create_obj();
$obj1->{DATE}="2005-01-01";
$obj2->{DATE}="2004-12-20";
$obj3->{DATE}="2005-01-02";
sub sort_rule {
my ($year1,$month1,$day1) = split /-/,$a->{DATE};
my ($year2,$month2,$day2) = split /-/,$b->{DATE};
return $year1 <=> $year2 or
$month1 <=> $month2 or
$day1 <=> $day2
;
}
my @list = ($obj1,$obj2,$obj3);
print $_->{DATE},"\n" for sort sort_rule @list;