Mail::Audit and presuming a bit too much

I was tweaking my procmailrc today. My procmailrc recognizes a number of common pattern-based spam items and logs those into logs that I rotate on a regular basis. Anything else gets fed into a Mail::Audit-based "Sortmail" script. As I was testing a minor tweak, I noticed that the logfile for Sortmail (driven by the Mail::Audit object) wasn't getting any messages.

Long story short... I had opened the Mail::Audit logfile as "-", because I wanted it to use stdout, which in my procmailrc I had directed to the proper log.

But RJBS recently changed Mail::Audit from using the two-arg open for this name to the three-arg open for this name, and this was only apparent once I had used the CPAN diff tools (only in the source, and not documented, sadly).

Yes, I had created a 30MB logfile named "-" in my home directory. After carefully removing that file, and using an explicit filename for logfile, all was good.

But this is a heads-up for anyone else who might have presumed that "-" means stdout in Mail::Audit... you might be logging somewhere odd right now. :)

Leave a comment

About Randal L. Schwartz

user-pic print "Just another Perl hacker"; # the original!