In der &eins; habe ich %hash, @array und möchte diese Werte in verschiedenen Subs (ist auch der Sinn von Subs) weiter verwenden.
Ohne "use strict" geht es prima, da ich diese hashes und arrays auch global benutzen kann. Wie kann ich sie auch mit "use strict" ohne Fehler benutzen?
Hier ist der Auszug aus dem eigentlichen Programmcode:
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
58
59
60
########### Read files #################################################
sub read_files{
######### Read inputs file
open(DH, "<$inputs") or die "Cannot open $inputs! $!";
my @fields = <DH>;
close (DH);
######### Read style file
open(DH, "<$style") or die "Cannot open $style! $!";
my $css;
while(<DH>){
$css .= $_;
}
close(DH);
######### Read language file
my %fpmlang;
open(DH, "<$language") or die "Cannot open $language! $!";
my @temp = <DH>;
close(DH);
foreach(@temp){
chomp $_;
my @pair = split(/<==>/, $_);
$fpmlang{$pair[0]} = $pair[1];
}
######### Read skin file
my %fpmskin;
open(DH, "<$skin") or die "Cannot open $skin! $!";
my @temp = <DH>;
close(DH);
foreach(@temp){
chomp $_;
my @pair = split(/<==>/, $_);
$fpmskin{$pair[0]} = $pair[1];
}
######### Read secure file
open(DH, "<$secure") or die "Cannot open $secure! $!";
close(DH);
######### Read config file
my %fpmconfig;
open(DH, "<$config") or die "Cannot open $config! $!";
my @temp = <DH>;
close(DH);
foreach(@temp){
chomp $_;
my @pair = split(/<==>/, $_);
$fpmconfig{$pair[0]} = $pair[1];
}
}
########### Form #######################################################
sub form{
&read_files;
print $conttype;
print @fields;
print $fpmconfig{'BLABLA'};
print $fpmskin{'BLABLA'};
}
Bearbeitet von Crian: CODE-Tags hinzugefügt\n\n
<!--EDIT|Crian|1063275679-->