perl: foreach() a dalsi polozka

Petr Divina divina na biomed.cas.cz
Úterý Srpen 14 13:57:37 MEST 2001


Posilam jeden napad....


#!/usr/local/bin/perl

   @file = ('prvni','druha','treti','ctvrta','pata','sesta');

   while ($tmp = shift @file) {

      if ($tmp eq "druha") {

         print "Podminka plati: $_\n";
         $tmp = shift @file;          # >>>>>  (Vezmi dalsi polozku)
         print "Podminka plati - pokracovani: $tmp\n";

      } else {

         print "Podminka neplati: $tmp\n";

      }
   }


Vystup:

Podminka neplati: prvni
Podminka plati: druha
Podminka plati - pokracovani: treti
Podminka neplati: ctvrta
Podminka neplati: pata
Podminka neplati: sesta


Zdravim,

Petr



On Tue, 14 Aug 2001, Michal Ludvig wrote:

> Zdravim vespolek,
> mam zhruba nasledujici konstrukci v perlu:
> (V @file je spousta radku textu.)
> 
>    foreach (@file)
>    {
>       if(nejakapodminka)
>       {
>          DelejNeco1($_);
> # >>>>>  Vezmi dalsi polozku
>          DelejNeco2($_);
>       }
>       else
>       {
>          DelejNecoJineho($_);
>       }
>    }
> 
> Takze pokud plati 'nejakapodminka' tak potrebuju na aktualni radek
> postvat funkci DelejNeco1() a na hned dalsi radek funkci DelejNeco2().
> Pokud podminka neplati (coz je vetsina pripadu), tak to s kazdym radke
> udela DelejNecoJineho().
> 
> Na miste oznacenem '>>>>>' potrebuju z @file dostat dalsi radek do $_
> (nebo do jine promenne). Uz nad tim badam celkem dlouho a neprisel jsem na
> to jak to udelat :-(((
> 
> Predem diky za radu
> Michal Ludvig
> 
> 



Další informace o konferenci Perl