Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Mail::Audit and three-arg-opens

by merlyn (Sage)
on Jun 05, 2012 at 18:25 UTC ( #974517=perlmeditation: print w/replies, xml ) Need Help??

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. :)

-- Randal L. Schwartz, Perl hacker

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Replies are listed 'Best First'.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://974517]
Approved by moritz
Front-paged by ww
[Discipulus]: how I can tell in which perl version was included List::Util 1.29 ?
[Discipulus]: to specify use 5.0.x to be sure to have pairmap from the module..

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (6)
As of 2017-05-25 09:17 GMT
Find Nodes?
    Voting Booth?