Leser: 1
3 Einträge, 1 Seite |
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
# ---- subs
sub zeigeSeite{
my $key = $_[0]; #Schlüsselwort für Aufzurufende Seite in /txt/index.txt
my $pfad = 0;
my @index = extractFile( $index_file );
# print;
foreach (@index){
chomp $_;
if($_ =~ m/$key\.igs/ig){
$pfad = (split /\t/,$_)[2];
last;
}
}
if($pfad eq 0){ print errorSeite( $query->{action}, "zeigeSeite: $!" ); exit( 1 ); } # -> Fehlerseite?
my @inhalt = extractFile( $pfad );
foreach (@inhalt){
chomp $_;
}
# ---------------------------------------------------
# DYN. INHALT
$subs{titel} = (split/\|/, $inhalt[0])[2];
$subs{keywords} = (split/\|/, $inhalt[1])[2];
$subs{desc} = (split/\|/, $inhalt[2])[2];
$subs{page_topic} = (split/\|/, $inhalt[3])[2];
my $page = (split/\|/, $inhalt[4])[2];
$subs{inhalt} = join"", substitute( extractFile( $page ) ); # CONTENT auselesen & serialisieren
$subs{inhalt} =~ s/\n//g; #dachte, es könnte an den Zeilenümbrüchen liegen...
$subs{inhalt} =~ s/\r//g;
print substitute( extractFile( $index ) ); # SUBSTITUTION IN INDEX.HTML
# print;
} #ZeigeSeite
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
sub extractFile{
# ---- usage
# my @extractedFile = extractFile( "FileName" ); # dieing if file doesn't exists
my $file = $_[0];
open(DAT, "$file") || die "$! ($file)";
my @inhalt = <DAT>;
close(DAT);
return @inhalt;
} #extractFile
# --------------------------------------------------------
sub substitute{
# ---- usage
# my @substitutedFile = substitute( @contentToSubstitute ); # substitute-keywords must be added to %subs (global %hash)
my @err = (); # array für fehler
my @file = @_;
foreach my $eintrag( @file ){
if( $eintrag =~ /\%\%(.*)\%\%/ ){
my $keyword = $1;
unless( exists $subs{$keyword} ){ push @err, "Wert nicht gesetzt: $keyword\n"; $subs{$keyword} = ""; }
unless( $eintrag =~ s/\Q$&\E/$subs{$keyword}/g ){ print STDERR "Fehler beim ersetzen!\n"; }
print STDERR "ersetzte: $& mit $eintrag\n";
}
}
print STDERR @err;
return @file;
} #substitute
# --------------------------------------------------------
3 Einträge, 1 Seite |