\n";
+}
BEGIN {
require Time::HiRes;
- our $Time = [Time::HiRes::gettimeofday];
+ our $Time = [Time::HiRes::gettimeofday()];
+
+ $PLP::ERROR = sub {
+ my ($text, $html) = @_;
+ warn $text;
+ Alert("Fatal error: $html.");
+ };
}
# user request
@@ -95,6 +105,10 @@ sub Html {
ref $_ eq 'ARRAY' or $_ = [$_]
for grep {$_} $meta->{raw}, $meta->{description}, $meta->{keywords};
+ # document headers before output
+ $header{content_type} = "text/html; charset=$meta->{charset}";
+ unshift @{ $meta->{raw} }, stylesheet($meta->{stylesheet});
+
# optional amends
push @{ $meta->{raw} }, (
'',
@@ -106,7 +120,6 @@ sub Html {
) if $meta->{keys};
# leading output
- $header{content_type} = "text/html; charset=$meta->{charset}";
say '';
say '';
say '';
@@ -119,7 +132,6 @@ sub Html {
for join(', ', @{ $meta->{keywords} }) || ();
say '';
say '';
- say for stylesheet($meta->{stylesheet});
say for map { @{$_} } $meta->{raw} || ();
say '' if $Dev;
say '';
@@ -149,10 +161,18 @@ sub Html {
AGPLv3
EOT
- say sprintf '⢠%.3fs', Time::HiRes::tv_interval($Time) if $Dev;
+ say sprintf '⢠%.3fs', Time::HiRes::tv_interval($Time) if $Dev and $Time;
say '';
say '';
say '