Thread Kann Hash nicht übergeben (5 answers)
Opened by roooot at 2008-06-16 23:27

Linuxer
 2008-06-16 23:51
#111108 #111108
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
Hi,

wenn Du Referenzen zurückgibst, musst Du sie auch als solche aufnehmen.

Perl wandelt nicht automatisch eine zurückgegebene Referenz in den entsprechenden Typ zurück. Diese Aufgabe musst Du als Programmierer bewältigen und programmieren.

Code (perl): (dl )
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->{$_};
  }
}
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Kann Hash nicht übergeben