X-Git-Url: http://git.shiar.net/perl/plp/.git/blobdiff_plain/b5e0ee87251670be18b2f2fc128a4be0b25ebfb8..b7b9dad9e33b14e2364f6f69edc9bce5bdbd0cb2:/lib/PLP/Backend/CGI.pm?ds=sidebyside diff --git a/lib/PLP/Backend/CGI.pm b/lib/PLP/Backend/CGI.pm index e4bcf1e..e952c5a 100644 --- a/lib/PLP/Backend/CGI.pm +++ b/lib/PLP/Backend/CGI.pm @@ -1,6 +1,7 @@ package PLP::Backend::CGI; use strict; +use warnings; our $VERSION = '1.02'; @@ -16,7 +17,7 @@ sub init { # Run backwards through PATH_TRANSLATED to find target filename, # then get file (relative) by stripping PATH_INFO. my ($path, $rel) = (delete $ENV{PATH_TRANSLATED}, delete $ENV{PATH_INFO}); - my $path_info; + my $path_info = ''; while (not -f $path) { if (not $path =~ s/(\/+[^\/]*)$//) { printf STDERR "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n"; @@ -26,7 +27,7 @@ sub init { # move last path element onto PATH_INFO $path_info = $1 . $path_info; } - if (defined $path_info) { + if ($path_info ne '') { $rel =~ s/\Q$path_info\E$//; $ENV{PATH_INFO} = $path_info; } @@ -48,7 +49,6 @@ sub init { } delete @ENV{ - qw(SCRIPT_NAME SCRIPT_FILENAME), grep /^REDIRECT_/, keys %ENV }; @@ -61,7 +61,7 @@ sub init { sub read ($) { my ($bytes) = @_; - read *STDIN, my $data, $bytes; + read *STDIN, my ($data), $bytes; return $data; } @@ -94,12 +94,12 @@ Or install the C included with PLP. =head2 Lighttpd -Usually in F: -enable I (add/outcomment in server.modules), and add: +Add this to your configuration file (usually F): - cgi.assign = ( - ".plp" => "/foo/bar/plp.cgi", - ) + server.modules += ("mod_cgi") + cgi.assign += (".plp" => "/foo/bar/plp.cgi") + server.indexfiles += ("index.plp") + static-file.exclude-extensions += (".plp") =head2 Apache