Leser: 27
my %new_hash = %$hashref;
my $new_hashref = \%$hashref;
2009-09-25T14:34:07 pqCode (perl): (dl )my $new_hashref = \%$hashref;
wenn du das unschön findest, weiss ich auch nicht =)
my $new_hashref = $hashref;
my $new_hashref = { %$hashref };
my $new_hashref = { %$H } ;
my $new_hashref = \%{$H} ;
QuoteIm Endeffekt ist eigentlich sogar so, dass ich die Ref.übergabe hauptsächlich aus Performancegründen mache und die Verbindung zum Original eher grundsätzlich nicht gewünscht ist oder nur in ganz wenigen Fällen. Gibt es da eine grundsätzlich vorgehensweise?
2009-09-26T14:51:15 markyUnd soweit ich gelesen habe, ist das sogar seit 5.6 mit drin.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
DB<6> $hr={a=>{b=>{c=>1}}}; DB<7> $hrf={%$hr} DB<8> eval Data::Dumper->Dump ([$hr],['hrd']) # Deepcopy via eval der Serialisierung DB<9> print Data::Dumper->Dump ([$hr,$hrf,$hrd],[qw/hr hrf hrd/]) $hr = { 'a' => { 'b' => { 'c' => 1 } } }; $hrf = { 'a' => $hr->{'a'} }; $hrd = { 'a' => { 'b' => { 'c' => 1 } } }; DB<10> x $hr,$hrf,$hrd 0 HASH(0x8a4b000) 'a' => HASH(0x8a5f5c0) 'b' => HASH(0x87f36a0) 'c' => 1 1 HASH(0x8a5f770) 'a' => HASH(0x8a5f5c0) -> REUSED_ADDRESS 2 HASH(0x8af90d0) 'a' => HASH(0x8b154b0) 'b' => HASH(0x8a55af0) 'c' => 1
2009-09-26T16:17:31 markydanke für die Mühen
2009-09-26T16:17:31 markyich habs jetzt verstanden bzw. meinen Horizont damit erweitert.