use warnings; use strict; my @verzeichnis = ( { vorname => 'Peter', nachname => 'Bauer', alter => 32, }, { vorname => 'Marie', nachname => 'Fink', alter => 43, }, ); my $name = "Peter"; print join( " ", @{$_}{qw/vorname nachname alter/} ) . "\n" for @verzeichnis; for my $person ( @verzeichnis ) { if ($person->{vorname} eq $name) { print "Peter gefunden\n"; $person->{nachname} = "Bauer-Weider"; } } print join( " ", @{$_}{qw/vorname nachname alter/} ) . "\n" for @verzeichnis;