1use Test; 2BEGIN { $| = 1; plan(tests => 4); chdir 't' if -d 't'; } 3use blib; 4 5use Mail::Procmailrc; 6 7my $rcfile; 8my @rcfile; 9my $pmrc; 10 11######################################################### 12## test string constructor 13######################################################### 14$rcfile =<<'_RCFILE_'; 15LOGABSTRACT=yes 16PMDIR=$HOME/.procmail 17 18:0B: 19## block indecent emails 20* 1^0 people talking dirty 21* 1^0 dirty persian poetry 22* 1^0 dirty pictures 23* 1^0 xxx 24{ IS_DIRTY=yes } 25_RCFILE_ 26 27ok( $pmrc = new Mail::Procmailrc( { 'data' => $rcfile } ) ); 28ok( $pmrc->dump(), $rcfile ); 29 30## from procmailex(5) 31$rcfile =<<'_RCFILE_'; 32:0 33* ^Subject: send file [0-9a-z] 34* !^X-Loop: yourname@your.main.mail.address 35* !^Subject:.*Re: 36* !^FROM_DAEMON 37* !^Subject: send file .*[/.]\. 38{ 39 MAILDIR=$HOME/fileserver 40 41 :0 fhw 42 * ^Subject: send file \/[^ ]* 43 | formail -rA "X-Loop: yourname@your.main.mail.address" 44 45 FILE="$MATCH" 46 47 :0 ah 48 | cat - ./$FILE 2>&1 | $SENDMAIL -oi -t 49} 50_RCFILE_ 51 52ok( $pmrc->parse( $rcfile ) ); 53ok( $pmrc->dump(), $rcfile ); 54 55exit; 56