perl: foreach() a dalsi polozka
Honza Pazdziora
adelton na informatics.muni.cz
Úterý Srpen 14 13:57:46 MEST 2001
On Tue, Aug 14, 2001 at 01:34:05PM +0200, Michal Ludvig wrote:
> 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 :-(((
Nejjednodussi je asi jen pres to pole indexem a ve vhodnem miste
udelat ++.
for (my $i = 0; $i < @file; $i++) {
local $_ = $file[$i];
# >>>>>>
$i++;
}
Dalsi moznost je drzet si stranou priznak, ktery rika, ze se provedla
akce DelejNeco1 a ze tedy v dalsim pruchodu se ma udelat akce
DelejNeco2 (a priznak vynulovat).
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
.project: Perl, DBI, Oracle, MySQL, auth. WWW servers, DBD::XBase.
Returned from nearly off-line world -- sorry if this email reaches you late.
Další informace o konferenci Perl