Hash von Subroutine zurueckuebergeben

Johannes Fuernkranz juffi at ai.univie.ac.at
Tue Jan 25 06:23:45 CST 2000


* * * vienna-pm-list * * *


Bei genauerem Hinsehen glaube ich zu wissen was Du willst:

das loeschen:
>   my %db_hash = ();

das 
>     $strings_db{$temp[1]} = $temp[0];

ersetzen durch

$db_hash->{$temp[1]} = $temp[0];


Ich haette das allerdings durch ein anderes Interface geloest. Statt

    &read_database ($help, \%strings_db_button);

Haette ich 

    %strings_db_button = read_database($help);

gemacht, und dann in der Subroutine einfach 
my %db_hash;
[..]
$db_hash{$temp[1]} = $temp[0];
[..]
return %db_hash;

Ob das gut ist oder nicht, haengt wohl davon ab, ob return eine Kopie des
Array/Hash zurueckliefert oder (implizit) eine Referenz. Ich sehe an sich keinen
Grund, warum es eine lokale my-Variable kopieren sollte, habe aber im Kamel
keine genaue Angabe gefunden. Weisz wer, was genau beim Return eines Array
passiert?

							Juffi
###
You are subscribed to vienna-pm-list
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list