X-Git-Url: http://git.shiar.net/perl/plp/.git/blobdiff_plain/4565100c67dd7b0344e9eb332296d5fa64e7611b..0dbf6bc1fe5cd28c532994d13836e9509fcbe194:/PLP/CGI.pm diff --git a/PLP/CGI.pm b/PLP/CGI.pm index 56ca4db..817a552 100644 --- a/PLP/CGI.pm +++ b/PLP/CGI.pm @@ -2,7 +2,7 @@ package PLP::CGI; use strict; -our $VERSION = '1.01'; +our $VERSION = '1.02'; use PLP; @@ -21,7 +21,7 @@ sub init { if (not $path =~ s/(\/+[^\/]*)$//) { printf STDERR "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n"; PLP::error(undef, 404); - exit; + return; } # move last path element onto PATH_INFO $path_info = $1 . $path_info; @@ -44,7 +44,7 @@ sub init { if (not -r $ENV{PLP_FILENAME}) { print STDERR "PLP: Can't read: $ENV{PLP_FILENAME} ($ENV{REQUEST_URI})\n"; PLP::error(undef, 403); - exit; + return; } delete @ENV{ @@ -56,6 +56,7 @@ sub init { chdir $dir; $PLP::code = PLP::source($file, 0, undef, $ENV{PLP_FILENAME}); + return 1; } sub read ($) { @@ -67,8 +68,7 @@ sub read ($) { # This is run by the CGI script. (#!perl \n use PLP::CGI; PLP::CGI::everything;) sub everything { PLP::clean(); - init(); - PLP::start(); + $_[0]->init() and PLP::start(); } 1;