Die Schlüssel des zweiten Hashes sollen den Werten des Ersten entsprechen.
my %hash1 = ('color' => 'red', 'size' => 'big');
soll werden zu:
my %hash2 = ('red' => 'color', 'big' => 'size');
while (my ($key, $value) = each %hash1)
{
$hash2{$value} = $key;
}
Ein Hash enthält Standardeinstellungen für ein Programm, einige dieser Werte sollen durch Benutzereinstellungen überschrieben werden.
my %hash = ('color' => 'red', 'size' => 'big', 'shape' => 'square');
my %params = ('color' => 'blue', 'size' => 'small');
%hash = (map {$_ => $params{$_} || $hash{$_}} keys %hash);
$hash{'color'} ist jetzt 'blue',
$hash{'size'} ist jetzt small und
$hash{'shape'} ist immer noch 'square'