stringhe:
   confronto, sostituzione e interpolazione,
   espressioni regolari

$stringa =~ /espressione regolare/
questa istruzione è vera se l'espressione regolare si verifica in $stringa confronto semplice
$stringa1 = "Primo Punto"; $stringa2 = "piano primo"; $stringa1 =~ /primo/ falsa $stringa2 =~ /primo/ vera caratteri speciali nelle espressioni regolari
. qualunque singolo carattere (eccetto new line) ^ inizio stringa $ fine stringa * zero o più ripetizioni del carattere che precede + uno o più ripetizioni del carattere che precede ? zero o una ripetizione del carattere che precede
esempi: t.e vero per: the, tre, tle; falso per te, tale ^fa vero se la stringa comincia per fa e$ vero se la stringa finisce per e dal* vero per dal, dall ^$ vero se la stringa è vuota .* vero se la stringa non contiene new line gruppi di caratteri
[a-z] qualunque lettera miniscola [a-zA-Z] qualunque lettera [^a-z] nessuna lettera minuscola [aeiou] solo vocali minuscole [A-Z]+ qualunque parola in lettere maiuscole ( ) raggruppamento di caratteri | or caratteri speciali
\n new line \t tabulatore \w qualunque carattere alfanumerico (equivale a [a-zA-Z0-9]) \W qualunque carattere non alfanumerico (equivale a [^a-zA-Z0-9]) \d qualunque cifra (equivale a [0-9]) \D qualunque carattere non cifra (equivale a [^0-9]) \s qualunque carattere spazio (spazio, tab, new line) \S qualunque carattere non spazio (spazio, tab, new line) \b confine di parola protezione dei caratteri speciali
\| \[ \] \( \) \* \^ \/ \\ ESEMPI
/= *0/ vera per =0, = 0, = 0 /= *0\.0*/ vera per =0., =0.0, =0.00, = 0., = 0.00, = 0.0
ESTRAZIONI
i match sono memorizzati nelle variabili $1, $2, ... Se la stringa corrente è Subject: xxxxxx if (/^Subject: (.*)/) { $subject = $1 } Se la stringa corrente è una data del tipo: Date: 1 Apr 95 12:34:56 GMT /^Date: (\d+) (\w+) (\d+) (\d+):(\d+):(\d+) (.*)$/; $day =$1; $month =$2; ... $second =$6; oppure: @field = /^Date: (\d+) (\w+) (\d+) (\d+):(\d+):(\d+) (.*)$/;
SOSTITUZIONE
$stringa =~ s/giorgio/Giorgio/g codici speciali delle espressioni regolari
\1,\2,...,\9 nella sostituzione $1,$2,...,$9 nel resto del programma s/^(.)(.*)(.)$/\3\2\1/ scambia il primo carattere con l'ultimo, infatti \1 contiene il primo carattere, \3 l'ultimo, \2 il resto
TRADUZIONE
$stringa =~ tr/a-z/A-Z/ $conta = ($stringa =~ tr/*/*/)
esercizi
- contare e numerare le righe che contengono la lettera x, la stringa dal, la stringa dal o la stringa Dal - contare e visualizzare le righe con lettere doppie evidenziando le doppie tra parentesi - contare e visualizzare le righe che contengono il primo argomento - visualizzare le righe che contengono il primo argomento rispetto al contesto, allineando la parola al centro

indice - esempi
CICAIA dell'Università di Modena   *   PoP di Modena del servizio