Thread Ties und Hashrefs (9 answers)
Opened by J-jayz-Z at 2005-11-21 21:34

ptk
 2005-11-22 01:55
#60304 #60304
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du kannst keinen bestehenden Hash tie'en, sondern musst immer eine Kopie nach dem tie machen.

Beispiel:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use Tie::CPHash;

$foo = rectie({ bla => { foo => { bar => "a"} } });
warn $foo->{BLA}->{FOO}->{BAR};

sub rectie {
my($hashref) = @_;
while(my($k,$v) = each %$hashref) {
if (UNIVERSAL::isa($v, "HASH")) {
my $new_v = rectie($v);
$hashref->{$k} = $new_v;
}
}
tie my %newhash, "Tie::CPHash";
%newhash = %$hashref;
\%newhash;
}

View full thread Ties und Hashrefs