procmail
[Top] [All Lists]

Re: Why can't my Perl script work?

1998-12-10 20:23:39
On Thu, 10 Dec 1998, Aaron D. Turner wrote:

-----BEGIN PGP SIGNED MESSAGE-----


OK, AFAIK, using a pipe in a procmail script sends the contents of the
email to whatever program I want.  Basically the same as:
cat <email> | program_name

So:

UMASK=022

:0
* ^Subject.*(Keynote Performance Data)
| /home/aturner/bin/keynote.pl

Should work.  But it doesn't.  The script never get's any data via STDIN.
Why?  My log only shows:

procmail: Assigning "INCLUDERC=/home/aturner/.procmail/rc.testing"
procmail: Assigning "UMASK=022"
procmail: Match on "^Subject.*(Keynote Performance Data)"
procmail: Executing "/home/aturner/bin/keynote.pl"
procmail: [2113] Thu Dec 10 12:47:05 1998
procmail: Assigning "LASTFOLDER=/home/aturner/bin/keynote.pl"
- From aturner(_at_)vicinity(_dot_)com  Thu Dec 10 12:47:04 1998
 Subject: Keynote Performance Data (fwd)
  Folder: /home/aturner/bin/keynote.pl                                        
2356
procmail: Notified comsat: "aturner@:/home/aturner/bin/keynote.pl"


Help.  I've verified that the script does what it's supposed to: create a
file, and write the body to the file (strip the headers).

I use procmail to kick off a perl script also and I found I needed to
import some environment variables into the perl code. Add this:
use Env


Also you might try starting your recipe with:

SHELL=/bin/sh

:0cb:           # at the start of your recipe.
                # the `b' will use the body and not the header
                # the `c' generates a copy. 



___________________________________________________________________
Mark L. Turrin                                     mlt(_at_)linkzone(_dot_)com
---
Just for today, I will not sit in my living room all day in 
my underwear in the Hollywood Cafe. Instead, I will move 
my computer into the bedroom.


<Prev in Thread] Current Thread [Next in Thread>