Antw: Hash von Subroutine zurueckuebergeben

Roland Bauer Roland.Bauer at mediaprint.at
Tue Jan 25 06:35:29 CST 2000


* * * vienna-pm-list * * *


Hallo Peter,

ich glaub, da ueberlagern sich ein paar Dinge.

Falls es nicht ganz klar ist, was ich meine - rueckfragen.

Roland

%% meine kommentare

# read strings database ...
    my %strings_db = ();
    $help = $directory_db . $strings_db_file;
    &read_database ($help, \%strings_db);
    
    
%% wenn %strings_db der rueckgabewert, waere folgendes besser:
%% %strings_db = &read_database ($help);
%% 
%% anmerkung: der hash muss am ende der subroutine mit return %strings_db;
%% zurueckgegeben werden


# 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);
  
%% hier fehlt vermutlich:
%% my %strings_db;
  

  foreach (@strings) {
    my @temp = ();
    @temp = split(/\x7f/, $_);
    
%% hier besser
%% my ($value, $key) = split(/\x7f/, $_);

%% oder kuerzer (was peter nicht mag ;-)
%% my ($meinvalue, $meinkey) = split/\x7f/;
    
       # store strings.db file in a hash referenced by string.
    $strings_db{$temp[1]} = $temp[0];
    
%% daher:
%% $strings_db{$meinkey} = $meinvalue;
    
%% das ist nicht gut, dass hier via $strings_db der wert
%% an main zurueckgegeben wird (geht das ueberhaupt?)

    
  } # foreach
  
%% ich glaube da fehlt
%% return %strings_db;

  
}  ## sub read_database





--
roland.bauer at mediaprint.at
TEL: +43-1-36000/3949

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



More information about the Vienna-pm mailing list