v3.23 release
[perl/plp/.git] / lib / PLP.pm
index 7cb8d5551f8a7c8b46e26d769aff8fbf3cbaf6d0..112eefd3fd47cbb460cc9beb7eccac356c794946 100644 (file)
@@ -14,7 +14,7 @@ use File::Spec;
 use strict;
 use warnings;
 
-our $VERSION = '3.21';
+our $VERSION = '3.23';
 
 # Subs in this package:
 #  _default_error($plain, $html)    Default error handler
@@ -76,7 +76,9 @@ sub error {
                print "Status: $type\nContent-Type: text/html\n\n",
                        qq{<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">\n<html>},
                        "<head>\n<title>$type $short</title>\n</head></body>\n<h1>$short",
-                       "</h1>\n$long<p>\n<hr>\n$ENV{SERVER_SIGNATURE}</body></html>";
+                       "</h1>\n$long<p>\n<hr>\n";
+               print $ENV{SERVER_SIGNATURE} if $ENV{SERVER_SIGNATURE};
+               print "</body></html>";
        }
 }
 
@@ -92,6 +94,7 @@ sub handler {
 
 # Sends the headers waiting in %PLP::Script::header
 sub sendheaders () {
+       local $\;  # reset print behaviour if triggered by say()
        $PLP::sentheaders ||= [ caller 1 ? (caller 1)[1, 2] : (caller)[1, 2] ];
        print STDOUT "Content-Type: text/plain\n\n" if $PLP::DEBUG & 2;
        while (my ($header, $values) = each %PLP::Script::header) {