linux-l: 2-facher Dokumentendurchlauf

Thomas Knop t.knop at isv-gmbh.de
Do Mai 11 10:28:54 CEST 2000


On, Don, 11 Mai 2000, Manuel Tennert wrote:
> Kleines Problem mit Perl:
> Ich starte ein Script, welches mit Hilfe von while ($zeile = <>) {......
> zeile für zeile durch ein Text-File läuft...logo....nun will ich
> innerhalb dieser Schleife eine Bedingung setzen. In dieser soll das
> Dokument nochmals von vorn durchlaufen werden. Nach Beendigung dieser 2.
> Bedingung soll der Dokumentdurchlauf fortgesetzt werden und zwar an der
> Stelle wo der erste Durchlauf unterbrochen wurde ! Schön kompliziert ???
                                                     ^^^^^^^ nö
Ich hab' zwar kaum Ahnung von Perl, aber dein Problem ist doch super einfach
zu lösen (wenn man nicht perl nimmt?):
fp=open(filename);
schleife1{
   ...
   if bedingung {
     pos = tell(fp);
     seek(0);
     schleife2{
       ...
     }
     seek(pos);
   }
}

oder meintest du das so:
fp=open(filename); loop2 = false;
schleife{
   ...
   if(!loop2 && begingung){
     pos = tell(fp);
     seek(0);
   elseif(loop2 && eof(fp)){
     seek(pos);
   }
}

Da ich keine Ahnung von Perl habe, weiß ich natürlich nicht wie das
umzusetzen ist für <> ... aber genau diese (<>, _$ u.ä.) sind die Gründe
warum ich perl nicht mag ;-)

Gruß
  Thomas
--
Thomas Knop               Tel: +49-30-53433408
ISV GmbH Berlin           Fax: +49-30-53433435
Am Treptower Park 75        t.knop at isv-gmbh.de
12435 Berlin            http://www.isv-gmbh.de



Mehr Informationen über die Mailingliste linux-l