Kapitel 5. Filtre

Indholdsfortegnelse

Filterregler og hvordan man laver dem
Eksempel:

Filterregler og hvordan man laver dem

Hvis du ikke kan forstå dette, så vent lidt. Jeg vil bygge en behagelig “filterbygger” hvor du kan klikke dig igennem. Med det kan tage en smule tid inden det kommer så langt.

Filtret forsøger at finde en streng som “matcher”, og derefter bruge “Fra” og “Til” til at udskifte. Strengen som matcher, fra og til er samtlige regulære udtryk i Perl. Reglerne evalueres i aftagende rækkefølge. Den øverste regel evalueres først, derefter den næst øverste, osv. Alle strenge evalueres som følger:

$navn ekspanderes til miljøvariablen navn. Dette gøres med det samme når du indsætter reglen, og ændres ikke derefter. Derfor er det formodentlig af begrænset værdi.

$$navn udskiftes med variablen $navn i Perl når matchningen gøres. Dette kan være en delstreng som $1, $2 i udskiftningsstrengen, eller normale variabler som er tilgængelige i sirc (såsom $nick, $channel, etc.).

˜navn˜ Indsættes i begyndelsen af en linje en og kun en gang, sender tekstlinjen til vinduet som hedder navn. Hvis vinduet ikke findes, sendes linjen til det seneste vindue som havde fokus. Det findes flere specielle vindue, som alle indledes med et enkelt !-tegn:

!default

Det nuværende forvalgte vindue. Eksisterer helt sikkert.

!all

Send til alle vinduer. Dette ses ikke i alle vinduer, afhængig af hvordan teksten tolkes. Kanalvinduer viser for eksempel ikke en /part eller /quit hvis alias ikke findes i kanalen.

!discard

kasserer teksten.

Resten af udtrykket håndteres som et normalt regulært udtryk i Perl. En god forståelse af manualsiden for perl er helt klart en god hjælp, og en grundlæggende forståelse af regulære udtryk er helt nødvendig.