15.4.4 Perl-Code für Ausgabe einzelner Autoren
#!/usr/local/bin/perl
# Pfad fuer perl eventuell anpassen
$xmldir = '/path/to/my/xml-dir';
$file1 = "${xmldir}/teil1";
$file2 = "${xmldir}/teil2";
$tempfile = "${xmldir}/mystyle.$$.www.dsl";
$tempfile2 = '/tmp/mystyle.$$.www.html';
# Pfad fuer jade eventuell anpassen
$prog = "/usr/local/bin/jade";
$xmldecl = "${xmldir}/xml.decl";
$xmlfile = "${xmldir}/lithist.xml";
# Funktionen zum Einlesen der Formulardaten
require ("hb_web.pl");
# Lesen der Formulardaten
&parseInput(*fields); # parseInput -> hb_web.pl
# Start der Ausgabe
open (ThisF, ">>$tempfile");
open (ThatF, "<$file1");
while ( <ThatF> ) {
print ThisF $_;
}
close ThatF;
print ThisF "\n(define thisAuthor \"$fields{'AUTHOR'}\")\n\n";
open (ThatF2, "<$file2");
while ( <ThatF2> ) {
print ThisF $_;
}
close ThatF2;
close ThisF;
# temporaere Datei kreieren (tempfile2)
system("$prog -d $tempfile -t sgml $xmldecl $xmlfile > $tempfile2");
# temporaere Datei ausgeben (tempfile2)
print "Content-Type: text/html\n\n";
# Server vervollstaendigt den HTTP-Header
open (Daddel, "<$tempfile2");
while ( <Daddel> ) {
print STDOUT $_;
}
# temp. Dateien loeschen
system("rm ${tempfile} ${tempfile2}");