my $dir = "e:\\work\\testlogs"; opendir DIR, $dir or die "opendir: $!"; foreach my $name (readdir DIR) { next if /^\./; print "$name \n"; process_file ($name); } closedir DIR; sub process_file { my $file = @_; my @date = split(/-/, $file); print "@date \n"; open (FILE, $file) or die "Could not open file: $!"; while (defined(my $line = )) { my @fields = split(/\s+/, $line); my $machine = $fields[0]; close FILE; } }