-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[9] A cosa serve realmente /o? /o

L'uso di una variabile in un match di un'espressione regolare forza una rivalutazione (e probabilmente ricompilazione) ogni qualvolta ci si imbatte nell'espressione regolare. Il modificatore /o vincola la regex la prima volta che viene usata. Questo avviene sempre in una espressione regolare costante, ed infatti il pattern viene compilato nel formato interno al momento della compilazione dell'intero programma.

L'uso di /o è irrilevante a meno che l'interpolazione di variabili non venga utilizzata nel pattern e, se è così, il motore delle regex non saprà né si interesserà di eventuali variazione delle variabili dopo la primissima valutazione del pattern.

/o viene usato spesso per ottenere un ulteriore grado di efficienza, non eseguendo le valutazioni successive quando sapete che la cosa non avrà importanza (perché sapete che le variabili non cambieranno), oppure, più di rado, quando non volete che la regex si accorga se le variabili cambiano.

Per esempio, ecco un programma "paragrep":

    $/ = '';  # modalita` paragrafo
    $pat = shift;
    while (<>) {
        print if /$pat/o;
    }

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google