X-Git-Url: http://git.shiar.nl/perl/plp/.git/blobdiff_plain/6fb22c399428a8e7cac088cab5603e75a87016fa..972d413021a3b834599c46ea8a05ae4c0e023029:/PLP/Functions.pm diff --git a/PLP/Functions.pm b/PLP/Functions.pm index 99aa27b..e07caa5 100644 --- a/PLP/Functions.pm +++ b/PLP/Functions.pm @@ -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; @@ -122,8 +133,8 @@ sub WriteFile ($$) { sub Counter ($) { local *COUNTER; local $/ = undef; - open COUNTER, "+<$_[0]" or - open COUNTER, ">$_[0]" or return undef; + open COUNTER, '+<', $_[0] or + open COUNTER, '>', $_[0] or return undef; flock COUNTER, 2; seek COUNTER, 0, 0; my $counter = ;