Leser: 1
|< 1 2 >| | 19 Einträge, 2 Seiten |
1 2 3 4 5
sub routine { my ($hash_ref1,$hash_ref2)=@_; my %hash1=%{$hash_ref1}; #umkopieren $hash1{key}="wert"; #wirkt sich nicht auf ursprüngliches Hash aus }
(*hash1,*hash2)=@_;
Linuxer+2008-02-06 19:02:10--ich finde
nicht wirklich hässlich und das ist auch die Variante, die ich zuletzt immer eingesetzt habe.
1 2 3
sub routine { my ($hash_ref1, $hash_ref2) = @_; my %hash1 = %$hash_ref1; #umkopieren
KurtZ+2008-02-06 18:55:13--[...]
Oder Typeglobbing, wo ich aber Aliases erzeuge wo sich Werteveränderungen durchschlagen.
QuoteZudem sind die Variablen global statt privat!
[...]
1 2 3 4 5 6 7
sub foobar(\%) { local *local_hash = shift; # do what you want } my %my_hash; foobar %my_hash;
1 2 3 4 5 6 7 8 9 10 11 12 13
#!/usr/bin/perl use warnings; use strict; foo({ hallo => 'welt' }); sub foo { my %bar = %{+ shift }; print $bar{hallo}, "\n"; return; }
QuoteDas Problem des globalen Gültigkeitsbereiches kann man durch den Einsatz von local umgehen:
|< 1 2 >| | 19 Einträge, 2 Seiten |