Perl/Funzioni Native sulle variabili: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Riga 435:
==Conversione==
 
===crypt===
crypt - one-way passwd-style encryption
'''crypt''' cripta un testo (PLAINTEXT) e lo ritorna criptato. il parametro SALT influisce sulla codifica.
hex - convert a string to a hexadecimal number
oct - convert a string to an octal number
Non esiste modo di avere il testo decriptato.
ord - find a character's numeric representation
 
Per sapere se una "password" è corretta si confronta la parte criptata.
 
'''NOTA:''' la stringa ritornata da crypt dipende dal sistema operativo
 
Sintassi
#crypt PLAINTEXT,SALT
 
Esempi
<source lang="perl">
 
$word = "pippo";
$pwd = crypt($word,$word); #Uso la stessa parola come SALT !
print "pwd:$pwd\n";
 
if (crypt($word, $pwd) ne $pwd) #Uso la stessa pwd come SALT !
{
print "Sorry...\n";
}
else
{
print "ok\n";
}
$pwd1 = crypt($word,"banana"); #Uso un altro SALT
print "pwd1:$pwd1\n"; #Ottengo un altra password
if (crypt($word, "banana") ne $pwd)
{
print "Sorry...\n";
}
else
{
print "ok\n";
}
 
</source>
 
 
 
===hex===
'''hex''' converte una stringa ( che rappresenta un numero esadecimale ) in un numero
 
Sintassi
#hex EXPR
#hex
 
'''NOTA:'''Senza parametri utilizza la variabile implicita $_
 
Esempi
<source lang="perl">
 
print hex '0xAf'; # scrive '175'
print hex 'aF'; # scrive '175'!
 
</source>
 
'''NOTA:'''per la sola stampa/conversione si vedano anche sprintf , printf , unpack
 
===oct===
'''oct''' converte una stringa ( che rappresenta un numero in ottale ) in un numero
 
Sintassi
#oct EXPR
#oct
 
'''NOTA:'''Senza parametri utilizza la variabile implicita $_
 
Esempi
<source lang="perl">
 
print oct '0257'; # scrive '175'
 
</source>
 
'''NOTA:'''per la sola stampa/conversione si vedano anche sprintf , printf , unpack
 
===ord===
'''ord''' converte il primo carattere di EXPR nella sua rappresentazione numerica (ASCII,EBDIC,Unicode 8Bit)
 
Sintassi
#ord EXPR
 
Esempi
<source lang="perl">
175
print ord 'abc'; # scrive '95'
 
</source>
 
=="Case"==