#!/usr/bin/perl -wl use strict; my $dir = qw(/home/idlerpg/graphdump); opendir(DIR, $dir) or die "Cannot open $dir:$!"; my @files = reverse sort readdir(DIR); my $currlevel = 68; my $numfiles; my $numlines; my $totalfiles = scalar @files; FILE: for my $file (@files) { open IN, '<', "$dir/$file" or die "Ack!:$!"; $numfiles++; LINE: while () { $numlines++; chomp(); my ($user,$level) = (split /\t/)[0,3]; next LINE if $user ne 'McDarren'; next FILE if $level <= $currlevel; print "$file $user $level"; print "Processed $numlines lines in $numfiles files (total files:$totalfiles)"; exit; } } #### $ time ./foo.pl dump.1167332700 McDarren 71 Processed 844181 lines in 9030 files (total files:57844) 48.85 real 10.10 user 0.66 sys