[Vienna-pm] Mehrzeiligen Text in Datei ersetzen

Klaus Ita klaus at worstofall.com
Wed Jun 23 12:44:57 PDT 2010


2010/6/23 Peter Seitz <p.seitz at ks-ingenieurconsult.de>:
> Hallo Perl-Freunde,
>
> ich habe ein kleines Problem, bei dem ich mit meinen Perl-Kenntnissen
> nicht weiterkomme.
>
> Ich habe ein Mailarchiv vom Mailserver MercuryMail (also als ASCII-Text),
> bei dem die inzelnen Mails mit folgenden Zeilen getrennt sind
>

my $status = 'init';
my $line_count = 0;
my $status_line = 0;
while (<>) {

    $line_count++;
    $status = 'init' if ($line_count - 3 > $status_line); #doch nicht

    if (if $status eq 'init' && $_ eq
'--8<---if--you--cut--here--you--will--probably--destroy--your--monitor--')
{
        $status = 'found';
        $status_line = $line_count;
    }
    elsif ( $status eq 'found' ) {

... bla bla bla ...

    }

}


is schirch, aber zeilenweise,

lg,k

> --8<---if--you--cut--here--you--will--probably--destroy--your--monitor--
>
> ---------- End of message ----------
>
> --8<---if--you--cut--here--you--will--probably--destroy--your--monitor--
>
> Das Problem ist der dreizeilige Trenner der Einzelmails. Die Zeilenenden
> sind in HEX als  0d 0a angegeben (also Windows).
>
> Ich möchte das Mailarchiv in ein MBOX-Format konvertieren (also den
> Trenner als FROM: ersetzen um anschließend das Archiv mittels MHon-Arc zu
> bearbeiten.
>
> Mir ist nicht klar, wie ich obige Aufgabe erschlagen kann. Soweit ich
> weiß kann man den Zeilentrenner für das Zeilenweise Einlesen ändern, aber
> wie liest man dann das in perl ein. Wenn ich es so ändere, daß ich in der
> Datei solange einlese bis diese Trennsequenz kommt, was passiert, wenn
> dann eine Mail mit 20 MB im Archiv ist. Dann wird ja alles in den
> Speicher gelesen. Das würde das Programm sehr in die Knie zwingen.
>
> Ich bin für Anregungen sehr dankbar, wie man das Problem erschlagen kann.
>
>
> --
> With best compliments
>
> Dipl.-Ing. (TU) Peter Seitz
> Geschäftsführender Gesellschafter / managing director
>
>         Member of the Pegasus Mail Support Group
>        Coordinator of the Pmail Translation Process
>     +++++++++++++++++++++++++++++++++++++++++++++++++++
>     K+S Ingenieur-Consult GmbH & Co. KG
>     Waldaustrasse 13, D-90441 Nuernberg, Germany
>     Tel: INT+49-911-62793-242, Fax: INT+49-911-62793-10
>     +++++++++ http://www.ks-ingenieurconsult.de/ ++++++++++++++++
>
> _______________________________________________
> Vienna-pm mailing list
> Vienna-pm at pm.org
> http://mail.pm.org/mailman/listinfo/vienna-pm
>


More information about the Vienna-pm mailing list