Thread übergabe an sub (3 answers)
Opened by jan999 at 2010-07-16 10:47

moritz
 2010-07-16 10:59
#139846 #139846
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Hashes werden beim Uebergeben an Subroutinen "flach" gemacht, d.h. @_ in der routine ist eine lange List aus $title und den keys und values von %config.

Es gibt zwei moeglichkeiten:

Code (perl): (dl )
1
2
3
4
5
6
sub foo {
    my $title = shift;
    my %config = @_; # Rest der Argumentliste
    ;
}
foo($title, %config);


Oder uebergeben als Referenz:

Code (perl): (dl )
1
2
3
4
5
6
sub bar {
   my $title = shift;
   my %config = %{ shift(@_) };
   ...
}
bar($title, \%config);



Uebrigens bekommst du auch von Data::Dumper mit dem Backslash eine schoenere Ausgabe:

Code (perl): (dl )
print Dumper \%config;

View full thread übergabe an sub