perl – 如何对数组进行排序,以便某些文件扩展名排在最前面?

前端之家收集整理的这篇文章主要介绍了perl – 如何对数组进行排序,以便某些文件扩展名排在最前面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含文件列表的数组.我想以一种方式对它进行排序,它会让我在数组的开头和之后的其余文件中包含.txt文件.

这就是我现在正在做的,这很好.

@files = (grep(/\.txt$/,@files),grep(!/\.txt$/,@files));

有没有更好的方法呢?

解决方法

Sort将可选块作为第一个参数,但在这种情况下,Schwartzian变换会更快.

@files = map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_,!/\.txt$/ ] } @files;

猜你在找的Perl相关文章