SkÃ¥ne Sjælland Linux User Group - http://www.sslug.dk Forside   Tilmelding   Postarkiv   Forum   Kalender   Søg
MhonArc Dato: [Date Prev] [Kronologisk oversigt] [Date Next]   TrÃ¥d: [Date Prev] [Oversigt trÃ¥de] [Date Next]   MhonArc
 

Re: [PERL] Tekst match vs. søgning i array



On Mon, 19 Nov 2001 13:44:21 +0100 (CET), Ole Tange <sslug@sslug> wrote:
> 
> Det kommer meget an på, hvad du vil.

Plukke ord ud af helheden, som er placeret efter eller mellem nøgleord.
Bruger:

  for($i=$[;$i<=$#words;$i++)
  {
    if($words[$i]=~/ELEMENT/)
    {
      if($words[$i+2]=~/EMPTY/)
      {
        print EMPTY\n;
        $tag[$i]="<$words[$i+1] <$words[$i+1]/> ";
      }#if(EMPTY)
      else
      {
        print ELEMENT\n;
        $tag[$i]="<$words[$i+1] <$words[$i+1]> </$words[$i+1]> ";
      }#else
    }#if(ELEMENT)
  }#for

Måske ikke den smukkeste løsning, men selv jeg kan finde ud af hvad der foregår og det virker.
-Men laaaangsomt.  :o[
Min tanke var at det måtte kunne gøres hurtigere med tekstsøgning, da datamængden så kun behøver at blive læst én 
gang.

> Hvis du f.eks. skal lave en tabel til "oversættelse":

Det kan det vist ikke kaldes.

> Eller hvad med at få en sorteret liste af alle ordene i en fil:
> 
> perl -ne '@a{(split)}=1; END {print map {$_,"\n"} sort keys %a}' fil

Det klares i forbindelse med ovenstående så dejligt nemt med: sort @tag.

/M.Schmidt




 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

 
 
Henvendelse vedrørende websiderne til <www_admin>. Senest ændret 2005-08-10, klokken 19:54
Denne side vedligeholdes af MHonArc .