[linux] Re: Regex vinden

Paul Slootman paul+nospam op wurtel.net
Wo Apr 16 13:32:54 CEST 2008


On Wed 16 Apr 2008, Hugo van der Kooij wrote:

> Dat dacht ik als volgt te doen:
> 
> open(STRINGS,"<$strings");
> open(TEXT,"<$text");
> 
> while ($line = <TEXT>) {
>         chomp($line);
>         $match = 0;
>         while ($pattern = <STRINGS>) {

De file $strings wordt dus alleen voor de 1e regel van $test
doorgebladerd.

>                 chomp($pattern);
>                 $pattern_check = "/" . $pattern . "/";
>                 if ($line =~ $pattern_check) {

misschien beter:
                chomp $pattern;
                if ($line =~ /$pattern/e) {

De slashes zijn een operator en niet deel van een string, dus de slashes
in een string zetten en dan die string daar neerzetten gaat voor mijn
gevoel niet werken.


Betere aanpak is denk ik om eerst een giga-regexp op te bouwen waarin
dus alle regexps van $strings ingezet worden, en dan die steeds te
matchen op elke regel van $text.
Kijk ook naar de grep functie van perl.


Paul Slootman



More information about the Linux mailing list