Hallo Forum,
nun bin ich auch mal bei Perl am verzweifeln und hoffe hier hat einer einen guten Tip für mich:
Ich habe ein Skript geschrieben, was Informationen über den Benutzer ausgiebt. Es soll nun auch die Möglichkeit geben, über eine Option die Sprache wechseln zu können (tie)
Die Hashes im Programm sind verwendbar, so lange Sie am Anfang des Skriptes stehen, wenn sie allerding innerhalb einer IF Bedingung stehen, passiert leider nichts. Ich kann bei der definition der Hashes (innerhalb if) den Inhalt ausgeben lassen, aber leider (wie schon gesagt) nicht ausserhalb von if:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#! /usr/bin/perl
# name: uebung9
# author: philipp petersen
# mat nr.: 729184
# date: 06/2007
# uni: thf-berlin
sub print_line($);
sub print_groups();
sub print_network();
sub group_network($);
sub group_network_all($);
use File::Basename;
use Getopt::Long;
use POSIX;
use SDBM_File;
use Fcntl;
if ($opt_s eq "en_US"){
print "in ENG";
####################################################################
####################################################################
$dbm_datei = "./en_US/default_msg.dbm";
(-r $dbm_datei.".pag") or die "$prog: $dbm_datei $!\n";
tie(my %default_msg, 'SDBM_File', $dbm_datei, O_RDONLY, 0444)
or die "$dbm_datei: $!\n";
#untie %default_msg;
##########################################
$dbm_datei = "./en_US/group_msg_en.dbm";
(-r $dbm_datei.".pag") or die "$prog: $dbm_datei $!\n";
tie(my %group_msg_de, 'SDBM_File', $dbm_datei, O_RDONLY, 0444)
or die "$dbm_datei: $!\n";
#untie %group_msg_de;
##########################################
$dbm_datei = "./en_US/not_found_msg.dbm";
(-r $dbm_datei.".pag") or die "$prog: $dbm_datei $!\n";
tie(my %not_found_msg, 'SDBM_File', $dbm_datei, O_RDONLY, 0444)
or die "$dbm_datei: $!\n";
#untie %not_found_msg;
##########################################
$dbm_datei = "./en_US/verbal_de.dbm";
(-r $dbm_datei.".pag") or die "$prog: $dbm_datei $!\n";
tie(my %verbal_de, 'SDBM_File', $dbm_datei, O_RDONLY, 0444)
or die "$dbm_datei: $!\n";
print %verbal_de;
#untie %verbal_de
####################################################################
####################################################################
}else
Das Print verbal_de würde hier eine Ausgabe machen.
ACHTUNG das hier ist nur ein Ausschnitt des Sktiptes... will das Forum nicht zumüllen mit code...
Hilfe...