Thread Hash-Übergabe als Referenz ohne Bezug auf Original (26 answers)
Opened by marky at 2009-09-25 16:06

murphy
 2009-09-25 17:02
#126223 #126223
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2009-09-25T14:34:07 pq
Code (perl): (dl )
my $new_hashref = \%$hashref;

wenn du das unschön findest, weiss ich auch nicht =)

Ich habe die ursprüngliche Frage so verstanden, dass eine Hashreferenz gewünscht ist, deren Ziel unabhängig von einem irgendwo vorhandenen "Originalhash" modifiziert werden kann. Der obige Code ist allerdings funktional äquivalent zu
Code (perl): (dl )
my $new_hashref = $hashref;
und erfüllt daher nicht diese Anforderung.

Um das Anfertigen einer Kopie der Hashes wird man hier nicht herumkommen. Eine einfache Möglichkeit eine flache Kopie zu erstellen wäre noch
Code (perl): (dl )
my $new_hashref = { %$hashref };


edit: Tippfehlerkorrektur
When C++ is your hammer, every problem looks like your thumb.

View full thread Hash-Übergabe als Referenz ohne Bezug auf Original