]> Sergey Matveev's repositories - public-inbox.git/commitdiff
scripts/slrnspool2maildir: don't sort glob()
authorEric Wong <e@yhbt.net>
Sat, 2 May 2020 21:22:10 +0000 (21:22 +0000)
committerEric Wong <e@yhbt.net>
Tue, 5 May 2020 08:07:06 +0000 (08:07 +0000)
glob() sorts alphabetically by default, which doesn't have
a useful meaning with many articles.  Stop wasting CPU cycles
and memory.

scripts/slrnspool2maildir

index 8e444e84d57a2a3db6739b87dec2adde5e679f7e..c36de0c9146972e2a6b102287340e3b3dde8de29 100755 (executable)
@@ -10,6 +10,7 @@ use strict;
 use warnings;
 use Email::Filter;
 use Email::LocalDelivery;
+use File::Glob qw(bsd_glob GLOB_NOSORT);
 sub usage { "Usage:\n".join('',grep(/\t/, `head -n 12 $0`)) }
 my $spool = shift @ARGV or die usage();
 my $dir = shift @ARGV or die usage();
@@ -21,7 +22,7 @@ foreach my $sub (qw(cur new tmp)) {
        mkdir $nd or die "mkdir $nd failed: $!\n";
 }
 
-foreach my $n (grep(/\d+\z/, glob("$spool/*"))) {
+foreach my $n (grep(/\d+\z/, bsd_glob("$spool/*", GLOB_NOSORT))) {
        if (open my $fh, '<', $n) {
                my $f = Email::Filter->new(data => do { local $/; <$fh> });
                my $s = $f->simple;