http://www.perlmonks.org?node_id=171338


in reply to File glob question

Maybe I'm wrong, but I suppose that those 5 minutes are just to make a list of files in a direcotry. The speed of operation depends mostly on your filesystem speed (for example Linux ext2 is much slower than ReiserFS - even in beta-experimental version).
While you can do nothing to speed this up, you can do some work-around... At first I suggest to make list of those 4000 files and write it somewhere. Then you can try something like this:
#!/usr/bin/perl use strict; open (FH, "<files.list") || die "Can't find files.list: $!\n"; my @files = <FH>; close (FH); while (my $file = shift(@files)) { chomp ($file); open (FILE, "$file") || warn "Warning: can't open $file, skipping. +..\n"; while (<FILE>) { chomp; if (/\b($info)\s*\./) { print $_} ... } }
and so on... Anyway, I'm sure that other monks right here would find much better solution than mine :-)

Greetz, Tom.