okay...
ich nehme an, dass du die html-seite momentan einfach generiert ausgibst, anstatt dir einen string zu bauen und diesen dann auszugeben
also z.b. so
sub show_html
{
print "<html>\n<head></head>\n";
print "<body></body>\n";
print "</html>\n";
}
schreib das ganze so um
sub gen_html
{
my $html = "";
$html .= "<html>\n<head></head>\n";
$html .= "<body></body>\n";
$html .= "</html>\n";
return $html;
}
sub show_html
{
print &gen_html();
}
und zum speichern machst du es so
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
sub count_files
{
my ($folder) = @_;
return -1 unless -d $folder;
my $count = 0;
my $dir;
if(opendir($dir, $folder))
{
while(my $entry = readdir($dir))
{
next if $entry =~ m!^\.\.?$!;
$count++ if -f "$folder/$entry";
}
closedir($dir);
}
else { $count = -1; }
return $count;
}
sub save_html
{
my ($folder) = @_;
$folder =~ s!\\!/!g;
$folder =~ s!/$!!;
my $count = &count_files($folder);
die "Could not access $folder" if $count < 0;
my $filename = sprintf("%s/%08i.html", $folder, ++$count);
my $file;
open($file, "> $filename") or die "Could not create $filename";
print $file &gen_html();
close $file;
1;
}
habs nid getestet; aber könnte so gehen!