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] Filtrere ord ud i $1, $2 etc.



On Monday 24 February 2003 16:12, Jesper Dalberg (sslug@sslug) 
wrote in <sslug@sslug>:

> Hvis du insisterer på at hælde matches I $1, $2...osv., så er det nødt
> til at foregå I 2 omgange fordi du ikke (antager jeg) kender antallet af
> ord I strengen. Derfor er du nødt til at håndtere det I 2 omgange,
> ala...

...<snip>...
 
> my @matches = $var =~ m/\b(\w+)\b/g;
> for ( @matches ) { $rx .= '(\w+)\s+'; }
> 
> # Cut sidste \s+
> $rx=~s/(.*)\\s\+$/$1/g;
> 
> # Fylder $1, $2 osv.
> $var=~/$rx/g;
> 
> print "matches are ". join(",", @matches)."\n";
> print "test is $var\n";
> for ( my $i = 1; $i <= scalar( @matches ) && defined( ${$i} ); $i++ ) {
> print  "\$$i is ".${$i}."\n"; }
> 
> 
> Men det dufter af noget pølle at insistere på $1..n som jo er readonly.
> 
> Men det præcise svar på "Er det muligt i eet hug at filtrere ord ud i
> $1, $2 etc.?" er: "nej, ikke uden at vide mere om strengen.." ;)

OK. Ønsket var netop at det skulle gøres med en streng af på forhånd ukendt 
længde. Tak for svaret.

-- 
Med venlig hilsen / Best regards
David List



 
Forside   Tilmelding   Postarkiv   Oversigt   Kalender   Søg

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