linux-l: Perlscript
Manuel Tennert
webmaster at german-sound.de
Di Mär 27 13:46:14 CEST 2001
> > Hat jemand eine Idee, wodurch das fehlen zustande kommt ?????
> >
> Hallo Manuel,
>
> ich bin mir nicht sicher, ob ich dein Programm richtig
> verstanden habe. Aber ich habe mal eine Aenderung
> versucht (siehe unten).
>
> Mit freundlichen Gruessen
> Ralf Baerwaldt
>
> #!/usr/bin/perl
> #
> # Dieses Script fuegt an aufeinanderfolgenden Seiten das "f" bzw. das
> "ff" an.
> #
> # DATE CREATED : 11.04.00
> # DATE LAST UPDATE : 11.04.00
> while (my $zeile = <>) {
> my @a;
>
> # Das Script setzt voraus, dass alle Seitenzahlen hinter einem
> # "<rf" stehen und mit "©<" enden.
>
> @a = split /<rf/, $zeile;
> my $zeilen_anfang = $a[0] . '<rf';
>
> @a = split /©</, $a[1];
> my $seiten_zahlen = $a[0];
>
> @a = split /©</, $zeile;
> my $zeilen_ende = '©<' . $a[1];
>
> if ($seiten_zahlen =~ /(.*?)([0-9].*[0-9])/ ) {
> print $zeilen_anfang;
>
> @seiten = split /, /, $seiten_zahlen;
> $letzte_seite = $seiten[0];
> $string = $letzte_seite;
> for ($i = 1; $i <= $#seiten; ++$i) {
> $seite = $seiten[$i];
> if ($seite == $letzte_seite + 1) {
> $string .= "f";
> $string =~ s/ff+/ff/;
> } else {
> print "$string, ";
> $string = $seite;
> }
> $letzte_seite = $seite;
> }
> print "$string$zeilen_ende";
> }
> else {
> print "$zeile";
> }
> }
Hi Ralf,
nachdem ich noch einmal meine Ideen durchgeackert bin, und immer noch keine
Lösung habe, hab ich mal Dein Script getestet. Leider geht dabei sämtlicher Text
mit all den Seitenzahlen verloren :-(((
Manuel
Mehr Informationen über die Mailingliste linux-l