Thread Anonymen Hash an Funktion übergeben (2 answers)
Opened by tsy at 2008-07-17 18:02

murphy
 2008-07-17 18:19
#112260 #112260
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
tsy+2008-07-17 16:02:18--
[...]
Code (perl): (dl )
func( \{ 'foo' => 'bar', 'moo' => 'mar'});

Hier übergibst Du eine Referenz auf eine Referenz auf einen Hash. Zugriff:
Code (perl): (dl )
1
2
3
4
sub func {
  my $r = shift;
  print ${$r}->{foo}; # sollte 'bar' ausgeben.
}


Quote
[...]
Code (perl): (dl )
func( [{ 'foo' => 'bar', 'moo' => 'mar'}];

Hier übergibst Du eine Referenz auf ein Array, welches eine Referenz auf einen Hash enthält. Zugriff:
Code (perl): (dl )
1
2
3
4
sub func {
  my $r = shift;
  print $r->[0]->{foo}; # sollte 'bar' ausgeben.
}


Ich würde aber eher vorschlagen
Code (perl): (dl )
func({foo => 'bar', moo => 'mar'});

zu schreiben, und dann per
Code (perl): (dl )
1
2
3
4
sub func {
  my $r = shift;
  print $r->{foo}; # sollte 'bar' ausgeben.
}

zuzugreifen.
When C++ is your hammer, every problem looks like your thumb.

View full thread Anonymen Hash an Funktion übergeben