in reply to parsing a directory of log files.

Turn on strict and warnings. You declared $match_count, $actris_count, $sef_count as my for the 'foreach' block - they are visible only there! The variables at the line

print "Logins for Memphis $match_count \t", "Logins for Actris $actris +_count \t", "Logins for SEF $sef_count\t";

are completely unrelated package variables. BTW,

use:OLE;

what's this? Bizarrely, that parses (without strict), but is doesn't make any sense whatsoever.