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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
foreach my $ele (@documentlist){
if(@{$ele->child()}){
if(!@{$ele->parent()}){
my $file = ${$ele->name()}.'.html';
open(my $fh,'>',$file) or die $!;+
my $string = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html><head><title>'.$file.'</title></head><body>'.
'<a href="'.${$ele->name()}.".html".'">Zurück</a><br/><br/><br/> <table border>';
}else{
my $file = ${$ele->name()}.'.html';
open(my $fh,'>',$file) or die $!;+
my $string = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><html><head><title>'.$file.'</title></head><body>'.
'<a href="'.@{$ele->parent()}[0].".html".'">Zurück</a><br/><br/><br/> <table border>';
}
my $header = ${$ele->child()}[0];
# erzeuge headerzeile
foreach my $ele2 (@documentlist){
if($header eq ${$ele2->name()}){
my %hash = %{$ele2->spalteninfo()};
my @sorted = sort keys %hash;
$string .= '<tr>';
for my $key(@sorted){
$string .= '<th>'.$key.'</th>';
}
$string .= '</tr>';
last;
}
}
# erzeuge spalteninformationszeilen
foreach my $child (@{$ele->child()}){
foreach my $ele3 (@documentlist){
if($child eq ${$ele3->name()}){
# Wenn keine Blätter
if(@{$ele3->child()}){
my %hash = %{$ele3->spalteninfo()};
my @sorted = sort keys %hash;
$string .= '<tr>';
for my $key(@sorted){
if($key eq "Titel"){
$string .= '<td><a href="'.${$ele3->name()}.".html".'">'.$hash{$key}.'</a></td>';
}else{
$string .= '<td>'.$hash{$key}.'</td>';
}
}
$string .= '</tr>';
}else{
# Wenn Blätter
my %hash = %{$ele3->spalteninfo()};
my @sorted = sort keys %hash;
$string .= '<tr>';
for my $key(@sorted){
if($key eq "Titel"){
$string .= '<td><a href="'.${$ele3->name()}.".".${$ele->doc_format()}.'">'.$hash{$key}.'</a></td>';
}else{
$string .= '<td>'.$hash{$key}.'</td>';
}
}
$string .= '</tr>';
}
}
}
}
$string .= '</table></body></html>';
#########Problem print $fh $string;
close $fh or die $!;
}
}
er gibt mir die fehlermeldung:
print<> on closed filehandle $fh at main.pl
Bad file descriptor at etc..
Ich verstehe nicht wieso er proble macht. Die Fehlermeldung gibts erst seitdem ich ne if abfrage gemacht hab um dann das filehandle zu öffnen. es sollte doch eigentlich kein unterschied machen oder?\n\n
<!--EDIT|Noisebreath|1158752234-->