Ok, Beispiel:
#!/usr/bin/perl
use strict;
use warnings;
# Alle Warnungen werfen Exceptions
$SIG{__WARN__} = sub { die @_ };
print eval{ # try
# alle Prozesse zum Erzeugen
# der Response, bei Fehlern wird
# eine Exception geworfen
header().content();
} # catch
|| "Content-Type: text/plain; Charset=UTF-8\n\n$@";
sub header{
"Content-Type: text/html; Charset=UTF-8\n\n";
}
sub content{
local $/ = undef;
<DATA>
}
__DATA__
<!doctype html>
<header>
<title> Titel der Seite </title>
</header>
<html>
<body>
<p>Asdf usw.</p>
</body>
</html>
AEG.
PS: Zum Testen wirf mal im oberen Teil eine ex wie die 123
oder die "ex\n"
un guck mal was dann im Browser rauskommt.