我有一个包含文件列表的数组.我想以一种方式对它进行排序,它会让我在数组的开头和之后的其余文件中包含.txt文件.
这就是我现在正在做的,这很好.
@files = (grep(/\.txt$/,@files),grep(!/\.txt$/,@files));
有没有更好的方法呢?
解决方法
Sort将可选块作为第一个参数,但在这种情况下,Schwartzian变换会更快.
@files = map { $_->[0] } sort { $a->[1] <=> $b->[1] } map { [ $_,!/\.txt$/ ] } @files;