Restituisce una lista contenente tutti i valori dell'hash passato come parametro. (In contesto scalare, restituisce il numero di valori).
I valori sono restituiti in un ordine apparentemente casuale. Tale ordine casuale
saràs oggetto a cambiamenti nelle future versioni di perl, ma è garantito
essere lo stesso ordine che producono le funzioni keys e each sullo stesso
(non modificato) hash. Per ragioni di sicurezza, a partire dal Perl 5.8.1 l'ordinamento
è differente anche tra diverse esecuzioni di Perl (consultate
perlsec/"Algorithmic Complexity Attacks" ["Attacchi di Complessità Algoritmica", NdT]).
Come effetto collaterale, la chiamata a values() reimposta l'iteratore interno dell'HASH, si veda each. (In particolare, una chiamata a values() in un contesto vuoto, reimposta l'iteratore senza alcun costo computazionale aggiuntivo).
Va notato che i valori non vengono copiati, il che significa che modificare essi modifica i contenuti dell'hash:
for (values %hash) { s/pippo/pluto/g } # modifica i valori di %hash
for (@hash{keys %hash}) { s/pippo/pluto/g } # stessa cosa
Consultate anche keys, each e sort.