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