如何在Perl中对日期进行排序?

前端之家收集整理的这篇文章主要介绍了如何在Perl中对日期进行排序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Perl中对日期进行排序?
my @dates =  ( "02/11/2009","20/12/2001","21/11/2010" );

我的数组中有以上日期.我该如何排序这些日期?

我的日期格式是dd / mm / YYYY.

解决方法

@dates = sort { join('',(split '/',$a)[2,1,0]) cmp join('',$b)[2,0]) } @dates;

或使用单独的排序子程序:

sub mysort {
    join('',0]);
}
@dates = sort mysort @dates;

更新:一种更有效的方法是Schwartzian变换:

@dates = 
    map $_->[0],sort { $a->[1] cmp $b->[1] }
    map  [ $_,join('',$_)[2,0]) ],@dates;

猜你在找的Perl相关文章