6 Einträge, 1 Seite |
1 2 3 4 5 6 7 8 9 10
sub foo { #........ my %sql_info = { rows => $query->rows(), }; return (\@sql_output, \%sql_info); }
1 2 3 4 5
sub bar { my (@sql_output, %sql_info) = foo(); return (\@sql_output, \%sql_info); }
1 2 3
my ($sql_output_ref,$sql_info_ref) = bar(); my @sql_output = @{ $sql_output_ref }; my %sql_info = %{ $sql_info_ref }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
sub bar { my ( $array_ref, $hash_ref ) = foo(); # arbeite mit Kopien der Werte aus den dereferenzierten Referenzen my @sql_output = @$array_ref; my %sql_info = %$hash_ref; return \@sql_output, \%sql_info; } ## oder sub bar { my ( $array_ref, $hash_ref ) = foo(); # arbeite mit den Referenzen for ( @$array_ref ) { # oder @{ $array_ref } printf "SQL OUTPUT: %s\n", $_; } for ( keys %$hash_ref ) { # oder %{ $hash_ref } printf "SQL INFO: %s => %s\n", $_, $hash_ref->{$_}; } }
1 2 3 4 5
# bar: my (@sql_output, %sql_info) = foo(); #foo: return (\@sql_output, \%sql_info);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
#!/usr/bin/perl # vi:ts=4 sw=4 et: use strict; use warnings; sub foo { my @array = ( 1, 2 ); my %hash = ( a => 'A', b => 'B' ); return \@array, \%hash; } sub bar { # Skalare weil 2 Referenzen geliefert werden; KEIN ARRAY+HASH my ( $aref, $href ) = foo(); print "Ref: $aref - $href\n"; for ( @$aref ) { print "Array: $_\n"; } for ( keys %$href ) { print "Hash: $_ => $href->{$_}\n"; } } bar();
6 Einträge, 1 Seite |