Thread Löschen von Hash Elementen-Paar in foreach-Schleife (9 answers)
Opened by yippi at 2014-01-21 01:39

yippi
 2014-01-21 01:39
#173086 #173086
User since
2014-01-21
2 Artikel
BenutzerIn
[default_avatar]
Hallo,

der Hash-Schlüssel-Name "cc" des Hash-Elementenpaar ("cc"/"test1") wird, obwohl das Elementenpaar in der zweiten Foreach-Schleife aus dem Hash gelöscht wurde, im Print-Befehl noch angezeigt.

Wird mit "delete" nicht Schlüssel und Wert gelöscht? Seltsamerweise wird der gelöschte Wert "test1" im Print-Befehl aber nicht mehr angezeigt, ich hätte es aber auch gerne wenn der Schlüssel-Name "cc" auch nicht mehr angezeigt wird.


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$hash{aa}='test1';
$hash{bb}='test2';
$hash{cc}='test1';
$hash{dd}='test3';

foreach $key (sort keys %hash)
{
print "\nSchluessel: $key Wert: $hash{$key}";

foreach $keyvergleich (keys %hash)
{
if( $hash{$key} eq $hash{$keyvergleich} )
{
delete $hash{$keyvergleich};
}
}
}


gruss,
rommi
Last edited: 2014-01-21 03:00:59 +0100 (CET)

View full thread Löschen von Hash Elementen-Paar in foreach-Schleife