v3.06 release
[perl/plp/.git] / PLP / Functions.pm
index 080c61559e6b273ec3cfbb76970f75f89f317233..e07caa5846deaa696c96efe2902f26aca5f31108 100644 (file)
@@ -4,8 +4,8 @@
 use base 'Exporter';
 use strict;
 
-our @EXPORT = qw/HiddenFields Entity DecodeURI EncodeURI Entity include
-                 AddCookie ReadFile WriteFile AutoURL Counter Include/;
+our @EXPORT = qw/HiddenFields Entity DecodeURI EncodeURI Entity include PLP_END
+                 AddCookie ReadFile WriteFile AutoURL Counter Include exit/;
 
 sub Include ($) {
     no strict;
@@ -14,13 +14,24 @@ sub Include ($) {
     $PLP::inB = 0;
     local $@;
     eval 'package PLP::Script; ' . PLP::source($PLP::file, 0, join ' ', (caller)[2,1]);
-    PLP::error($@, 1) if $@;
+    if ($@) {
+       PLP::Functions::exit if $@ =~ /\cS\cT\cO\cP/;
+       PLP::error($@, 1);
+    }
 }
 
 sub include ($) {
     goto &Include;
 }
 
+sub exit (;$) {
+    die "\cS\cT\cO\cP\n";
+}
+
+sub PLP_END (&) {
+    push @PLP::END, shift;
+}
+
 sub HiddenFields ($@) {
     my $hash = shift;
     my %saves;