#!/usr/bin/perl chdir("c:/perl/logs") or die "$!"; opendir (DIR, ".") or die "$!"; my @files = grep {/2010*/} readdir DIR; close DIR; { local @ARGV = @files; foreach my $file (@files) { open(FILE,"c:/perl/logs/$file") or die "No file !"; while (@logs = ) { foreach $odate (@logs) { if ($odate =~/\bdate=(\d{1,4}-\d{1,2}-\d{1,2})/i) { $date = $1; print "$date\n"; ### prints all dates from all files } } print "$date\n"; ### Only prints last date from each file } } } close FILE; exit(0);