Thread Hash by value als Sub-Parameter übergeben
(18 answers)
Opened by KurtZ at 2008-02-06 19:55 KurtZ+2008-02-06 18:55:13-- Es aendert zwar nichts daran, dass Du $hash_ref1 nur einmal brauchst, aber man koennte das ein klein wenig kuerzer schreiben: Code (perl): (dl
)
1 2 3 4 sub routine { my ($hash_ref1,$hash_ref2)=@_; my %hash1=(%$hash_ref1, key => 'wert'); } Wenn es Dich stoert, dass der Hash waehrend der Subroutine doppelt im Speicher liegt, kannst Du ja das hier machen: Code (perl): (dl
)
1 2 3 4 sub routine { my ($hash_ref1,$hash_ref2)=@_; $hash_ref1={%$hash_ref1, key => 'wert'}; } Dann musst Du halt nur die späteren Aufrufe von $hash1{key} ändern zu $hash_ref1->{key} Sachen wie $_[0] wuerde ich auch nicht zu viel verwenden. Sieht irgendwie doof aus und ist unuebersichtlich. Die uebergebenen Variablen immer explizit benannten Variablen zuzuweisen finde ich fuer die meisten Faelle am besten. Lieblingsmodule:
![]() ![]() |