Thread Hashref deref (15 answers)
Opened by Froschpopo at 2007-11-08 21:17

Froschpopo
 2007-11-08 21:17
#102063 #102063
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
habe hier ein kleines Modul gebaut das Daten verwaltet:
Ein kleiner Auszug:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
sub new {
my $class = shift;
my $self = {};
bless($self, $class);
load(@_, $self) if @_;
return $self;
}

sub load {
my $self = shift;

if (@_) {
print "@_\n"; #Community::Storage=HASH(0x81717c8)
for (keys %{@_}) {
# wird leider nicht durchlaufen
$self->{$_} = $_[0]->{$_};
}
}
}

Das Problem ist nun, dass @_ zwar eine Hashreferenz enthält, diese aber scheinbar keinen Inhalt hat. Das stimmt aber nicht! @_ enthält sehrwohl eine Hashref die auch Inhalt enthält.

Daten bekommt das Modul, indem beim Objektaufbau eine Hashref übergeben wird:
my $obj = Community::Storage->new(\%params);

View full thread Hashref deref