Hash von Subroutine zurueckuebergeben

Peter Seitz seitz at bzs.tu-graz.ac.at
Tue Jan 25 04:58:06 CST 2000


* * * vienna-pm-list * * *


Hallo Freunde,

ich habe versucht meinen code etwas zu straffen, indem ich eine
Subroutine geschrieben hae um meine "Datenbankdateien" einzulesen.

Nur hab ich jetzt Schwierigkeiten und seltsame Verhaltensweisen und 
bin mir nicht sicher, ob ich das richtig implementiert habe.
(Mein Code muss sowiso modularisiert werden und neu strukturiert, 
doch ich muss das Projekt momentan leider mit diesem Hack 
weiterbringen. Ich versuch ja immerhin schon mich mit dem strict 
mode anzufreunden <grin>)

Hier der zweimalige Aufruf meiner Subroutine und unten die Definition.
Ich bin mir nicht sicher, ob ich nun tatsaechlich im Hauptprogramm 
die Daten in den hashes %strings_db und %strings_db_button 
abgespeichert habe, oder ob diese nur referenziert werden.

# read strings database ...
    my %strings_db = ();
    $help = $directory_db . $strings_db_file;
    &read_database ($help, \%strings_db);

# read button database ...
    my %strings_db_button = ();
    $help = $directory_db . $strings_db_button_file;
    &read_database ($help, \%strings_db_button);

sub read_database {
# read a database file and store it on a hash
# variable parameters:
#       $dbfilename     : Name of database file (including path)
#       %db_hash        : Hash for storing database content
# developed with strict mode
  my ($dbfilename, $db_hash) = @_;
  my %db_hash = ();
  open (STRINGS_DB, "$dbfilename") ||
    die "cannot open file $dbfilename: $!\n";
  my @strings = <STRINGS_DB>;
  chomp (@strings);
  close (STRINGS_DB);

  foreach (@strings) {
    my @temp = ();
    @temp = split(/\x7f/, $_);
       # store strings.db file in a hash referenced by string.
    $strings_db{$temp[1]} = $temp[0];
  } # foreach
}  ## sub read_database

Ich waere fuer Euere Hinweise sehr dankbar.


Gruss
               Peter Seitz
    Projektleiter Projekt Woerterbuch
-- 
Interesse an einem freien deutschen Woerterbuch? Helfer gesucht!
Projekt Woerterbuch: <URL:http://Free-Dict.bzs.tu-graz.ac.at/>
###
You are subscribed to vienna-pm-list
http://www.fff.at/fff/vienna.pm/



More information about the Vienna-pm mailing list