in reply to filtering my own output

for redirecting, you could add something like open(STDOUT,">> logfile") at the top of the code ... but that does not add the time stamp. You could also write your own print() function, which checks to see if the File handle is given, and if it is not, verify the currently select()'d filehandle is stdout, and if both of those are met (meaning it was called like print "...";), you could attach a date/time and print to a log file. I do not suggest writing your own print funtion. Doing so would make your current code maintnence problem seem like a trip to YAPC
can't sleep clowns will eat me
-- MZSanford