if ($error == "") { #### my $filename = "$directory\\search_results.txt"; open my $Outfile, '>', $filename or die "Can't open for writing $filename - $!\n"; #### use strict; use warnings; my $directory = "C:\\TEMP\\files"; my %numbers; opendir my $dirScan, $directory or die "Unable to open $directory - $!\n"; while (my $file = readdir $dirScan) { next if !-f $file or $file !~ /^R/; open my $inFile, '<', "$directory\\$file" or die "Unable to open $file - $!\n"; <$inFile>; # Skip the header line while (<$inFile>) { my @record = split /\|/, $_; next if $record[0] eq "TLR"; my $tele = substr $record[2], 3, 10; my $esn = substr $record[3], 3, 5; my $coid = substr $record[4], 3, 5; my $error = substr $record[9], 3, 3; $numbers{$tele} = {file => $file, esn => $esn, coid => $coid, error => $error}; } close $inFile; } closedir $dirScan; my $filename = "$directory\\search_results.txt"; open my $outFile, '>', $filename or die "Unable to open write $filename! - $!\n"; open my $cmpFile, '<', "c:\\temp\\files\\search tns.txt" or die "Unable to open search file! $!\n"; while (<$cmpFile>) { my $target = substr $_, 0, 10; if (exists $numbers{$target}) { my %record = %{$numbers{$target}}; my ($file, $esn, $coid, $error) = @record{qw(file esn coid error)}; print $outFile "====TN Found====\n"; print $outFile "FILE: $file\n"; print $outFile "TN: $target\n"; print $outFile "ESN: $esn\n"; print $outFile "COID: $coid\n"; if (! $error) { print $outFile "Error: no error \n\n"; } else { print $outFile "Error: $error \n"; print $outFile "================\n\n"; } } else { print $outFile "Missing: $target\n"; } } close $cmpFile; close $outFile or die "Trouble closing the report file: $!\n";