There is absolutely no reason I'm declaring all those variables up front, I guess. Still learning how to be strict. ;)
I've always thought the (linux) grep was a bit faster then the builtin one in perl. But with this script it probably doesn't matter much.
And you're right. Your last code does look a lot nicer. I just went for the quick and dirty code.
One correction on your last code though:
use constant INFOFIELDS => (LOGIN, MACHINE, MON, DAY, TIME);
MON should be MONTH.
Aside from that it works perfectly.
Teabag.
chmod 666 *.*
'cause everyone should have the right to read and write!