Perl/Variabili scalari: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
wikificazione + sintassi codice colorata
Riga 5:
Non è necessario dichiarare una variabile per usarla.
 
==ILIl NOMEnome==
 
Per identificare una variabile occorre anteporre al nome il carattere $.
Riga 11:
Inoltre essendo un linguaggio "case sensitive" le lettere maiuscole e le lettere minuscole sono differenti.
 
<source lang="perl">
$a; # è la variabile a
$A; # è la variabile A diversa da a
</source>
 
==IL CONTENUTO==
==Il contenuto==
 
Come precedentemente detto , l'interprete Perl mette nel contesto la variabile scalare e la "usa" nel modo migliore.
 
L'informazione può essere :
 
<source lang="perl">
# un numero intero positivo (es 23 , un milione 1000000 o 1_000_000)
# un numero intero negativo (es -12)
Line 27 ⟶ 31:
# la locazione di un'altra variabile (reference)
# il valore indefinito "undef"
</source>
 
===I NUMERInumeri===
 
I numeri in Perl sono in forma "letterale" maggiormente comprensibili dall'uomo.
Line 34 ⟶ 39:
 
Vediamo alcuni esempi:
 
<source lang="perl">
$primo_numero = 5; # decimale
Line 44 ⟶ 50:
$primo_numero = 0x5; # esadecimale (cifre da '''0''' a '''9''' e lettere da '''a''' a '''f''' )
</source>
 
sono tutti modi di far valere la variabile primo_numero il numero intero 5.
Line 50 ⟶ 57:
 
 
====OPERAZIONIOperazioni CONcon Ii NUMERInumeri====
 
In Perl sono possibili le operazioni di assegnamento (=) , somma (+), sotrazione (-), moltiplicazione (*), divisione (/), modulo (%), elevamento a potenza (**), incremento (prima e dopo) (++), decremento (prima e dopo) (--).
Line 56 ⟶ 63:
Vediamo insieme alcune operazioni:
 
<source lang="perl">
$p = 7; # assegnamento
$s = 9;
Line 66 ⟶ 74:
$r = $p % $s; # modulo r vale ora 7
$r = $p ** $s; # elevamento r vale ora 40353607 ( 7 elevato alla 9 )
</source>
 
'''NOTA''' per operazioni più complesse ci sono delle apposite funzioni
Line 79 ⟶ 88:
vediamo un esempio:
 
<source lang="perl">
$p = 7; # assegnamento
$q = 0;
Line 89 ⟶ 99:
$r = $p--; # post incremento ora $r = 7 , $p = 6
$q = --$p; # pre incremento ora $q = 5 , $p = 5
</source>
 
'''NOTA''' se p e s fossero in virgola mobile il loro valore viene incrementato/decrementato di uno senza alterare la parte decimale. es <source lang="perl">$a = 1.2; $a++; ora $a vale 2.2</source>
 
===LALa STRINGAstringa===
La stringa è una fila di caratteri che può essere anche vuota.
La stringa può essere individuata da due simboli: il " ed il '.
Line 98 ⟶ 109:
Il secondo NON sostituisce nulla e lascia inalterata la stringa.
 
<source lang="perl">
$a = <nowiki>''</nowiki>; # stringa vuota
$a = ""; # stringa vuota
$b = 'pippo'; # stringa
Line 104 ⟶ 116:
$d = "$b $c contento"; # contiene : pippo corre nel prato contento
$e = '$b $c contento'; # contiene : $b $c contento
</source>
 
nel caso di $d e' stato sostituito a $b pippo e a $c corre nel prato mentre nel caso di $e questo non è avvenuto.Questo perché il " consente la sostituzione mentre ' non lo consente.
Line 110 ⟶ 123:
quindi avremmo potuto scrivere anche :
 
<source lang="perl">
$a = q//; # stringa vuota
$a = qq//; # stringa vuota
Line 116 ⟶ 130:
$d = qq/$b $c contento/; # contiene : pippo corre nel prato contento
$e = q/$b $c contento/; # contiene : $b $c contento
</source>
 
Inoltre è possibile sostituire al carattere / con i caratteri {,(,% per migliorare la leggibilità : per esempio se dovessi scrivere 2006/12/22 con qq/ dovrei distinguere fra / usato come simbolo di separazione della data e / usato come termine di qq/.
Per fare questo è possibile cambiare simbolo (oppure usare il carattere speciale \/ vedi dopo).
Quindi potremmo scrivere:
 
<source lang="perl">
$f = "2006/12/22";
$f = qq(2006/12/22);
$f = qq{2006/12/22};
</source>
 
====CONCATENAREConcatenare PIU'più STRINGHEstringhe====
Con il carattere . è possibile concatenare più stringhe per esempio:
 
<source lang="perl">
$d = $b." ".$c." contento"; # contiene : pippo corre nel prato contento
</source>
 
====I caratteri speciali====
 
====I CARATTERI SPECIALI====
I caratteri speciali sono delle combinazioni di caratteri semplici che "servono a informare" che si vuole fare un "azione" particolare.
Le stringhe possono contenere caratteri speciali , alcuni di questi sono:
 
<source lang="perl">
\n newline (torna a capo)
\r return
Line 153 ⟶ 174:
\Q quota tutti i caratteri non alfanumerici fino a \E
\E fa terminare l'azione di \L,\U,\Q
</source>
 
Vediamo qualche esempio:
Se si volesse scrivere la frase : "pippo" corre nel prato
 
<source lang="perl">
$d = '"'.$b.'"'." ".$c." contento"; # contiene : "pippo" corre nel prato contento
$d = " \"$b\" $c contento"; # contiene : "pippo" corre nel prato contento
Line 162 ⟶ 185:
$d = qq("$b" $c contento); # contiene : "pippo" corre nel prato contento
# (molto meglio)
</source>
 
Se si volesse scrivere la frase : PIPPO corre nel prato (indipendentemente da cosa c'è in $b)
 
<source lang="perl">
$d = " \U$b\E $c contento"; # verrà mostrato come : PIPPO corre nel prato contento
</source>
 
===I REFERENCEreference===
Questa sezione introduce l'argomento per avere un quadro generale.
Si veda la sezione dedicata per approfondire l'argomento.
Line 178 ⟶ 204:
*'''Un''' modo per creare un reference è quello di anteporre alla variabile il simbolo '''\'''.
*'''Un''' modo per riottenere il valore originale è quello di anteporre '''$''' :
 
<source lang="perl">
$a = 5; # variabile a
$ref_a = \$a; # Ora sia ref_a che a "associano" lo stesso contenuto 5
Line 188 ⟶ 216:
print $a."\n"; # si ottiene 7
print $$ref_a."\n"; # si ottiene 7
</source>
 
'''NOTA''': nell'esempio si è associato ad uno scalare $ref_a un altro scalare $a.è possibile associare '''qualsiasi''' tipo di variabile !
Line 211 ⟶ 240:
 
Vediamo il codice:
 
<source lang="perl">
$a = 0;
$b = 1;
print "or:".( $a or $b )."\n";
print "and:"( $a and $b )."\n";
</source>
che produrrà:
Line 221 ⟶ 253:
 
Esempio con le stringhe:
 
<source lang="perl">
$a = "";
$b = "vero";
print "or:".( $a or $b )."\n";
print "and:"( $a and $b )."\n";
</source>
 
che produrrà: