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