sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #66249
Re: sh scripting - parsing af input ?
"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
Follow ups
References