Zase ten perl ...

Zdenek Habala zhabala na ais.cz
Úterý Duben 1 12:37:36 CEST 1997


Zdenlk Mazanec wrote:

  Caute .. mam (netradicne) problem s Perlem :
  Rekneme, za mam nasledujici usek kodu :

    open(MAIN,"$file") || die $!;
    @main = <MAIN>;
    close(MAIN);

    open(MAIN,">$file") || die $!;
    foreach $main_line (@main)     {
        if ($main_line =~ /$pozn/)
           {
             print MAIN "$main_line";
             print MAIN " $num    \n";
           }
        else
           { print MAIN "$main_line"; }
      }
    close(MAIN);

  za predpokladu, ze mam nadefinovane $pozn a $num

  Chtel bych, aby tento kod :
  1) vyhledal v souboru $file radek s obsahem $pozn (coz ucini)
  2) az ho najde, aby ho prepsal jim samym (coz ucini)
  3) prepsal nasledujici radek velicinou <tab>$num<tab> (coz NEucini)
  - ucini
  to, za zapise <tab>$num<tab> PRED nasledujici radek (=vlozi radek s
  hodnotou <tab>$num<tab> za radek s @pozn :-((((
   vsechny ostatni radky by se mely de-facto ignorovat (prepsat tou
  samou
  hodnotou - vetev else)

  Any idea ?
  BH

 ten cyklus je pro vsechny radky ve vstupnim souboru, takze v pripade ze
jeden z tech radku nema byt zapsan musi se preskocit. Takze si do neceho
poznamenat, ze se nasledujici radek nema zapsat a pri preskoceni toho
zapsani si tam napsat ze dalsi se zpracovava normalne. Mozna by to slo
vyresit i nejak elegantneji, ale ted tu nemam manualy takze sorry

--
+-----------------------+--------------------------------------------+
| Zdenek Habala         | +420 603 414 730 GSM Paegas                |
| Ponetovska 975        | zhabala na posta.firstnet.cz                  |
| Slapanice u Brna      | zhabala na ais.cz                             |
| 664 51 Czech Republic | http://hp-team.firstnet.cz/home/index.html |
+-----------------------+--------------------------------------------+



Další informace o konferenci Linux