[Dresden-pm] Hashes mischen
Steffen Schwigon
schwigon at webit.de
Mit Sep 17 05:07:17 CDT 2003
Hi!
Ich will zwei Hashes mischen.
Hash2 soll in Hash1 übernommen werden und ggf. Werte ersetzen (also
affe => 'lustig' muß sich im Beispiel unten durchsetzen).
Fällt jemandem ein kürzeres, eleganteres Statement ein als
untenstehende Variante 1, z.B. was ähnliches wie die Variante 2,
aber ohne derartiges Klammermassaker?
--- schnipp ----------------------------------------------------
#! /usr/bin/perl
use strict;
use warnings;
my $hash1 = { 'affe' => 'nett',
'loewe' => 'hungrig'
};
my $hash2 = { 'ziege' => 'bissig',
'pferd' => 'groß',
'affe' => 'lustig'
};
print "vorher: ";
print %$hash1;
# Variante 1
map { $hash1->{$_} = $hash2->{$_} } keys %$hash2;
# Variante 2
#%$hash1 = (
# @{[%{$hash1}]},
# @{[%{$hash2}]}
# );
print "\nnachher: ";
print %$hash1;
print "\n";
--- schnapp ----------------------------------------------------
GreetinX
Steffen
--
Steffen Schwigon <schwigon at webit.de>