"Ole Kofoed Hansen" <ole@xxxxxxxxxxxxxxx> wrote in message
news:3F455885.9050406@xxxxxxxxxxxxxxx...
Jeg er ved at forsøge at lave et script til en .qmail fil, som skal
lave
visse ting på indkomne beskeder... Scriptet bliver kaldt med /bin/sh
(ifølge
qmail-dokumentationen)
Jeg er klar over, at når mit script/min kommando bliver kaldt, så ligger
besked i stdin... denne gemmer jeg først med:
TMPFILE=`mktemp /tmp/$0.XXXXXX` || exit 1
tee $TMPFILE >/dev/null 2>&1
Ved ikke om det kan gøres på andre måder, men det her burde da virke...
Anyway, det primære problem kommer her:
En indkommen mail køres gennem reformime -i - som giver f.eks. dette
output:
...
Følgende ikke-testede perl-stump burde kunne hjælpe dig på vej. Det skal
have outputtet ligesom dit eksempel på STDIN og på STDOUT skriver den
de relevante sektionsnumre - på hver sin linie.
#!/usr/bin/perl -w
$normalspace = $/;
$afsnitspace = "";
$/ = $afsnitspace;
@sektioner = grep { /content-type: message\/rfc822/ } <STDIN>;
$/ = $normalspace;
foreach $sektion (@sektioner) {
if ($sektion =~ /^section: (.*)$/ ) { print "$1\n"; }
}
Tak for dit input - jeg får ikke noget output fra koden. Indsætter jeg print
"$sektion"; i foreach løkken får jeg godt nok de 2 blokke ud, som er af
message/rfc822 typen - men sektions-nummeret får jeg ikke....
/Brian