package PLP::Backend::CGI;
use strict;
+use warnings;
-our $VERSION = '1.02';
+our $VERSION = '1.03';
use PLP;
# 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";
+ warn "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n";
PLP::error(undef, 404);
return;
}
# 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;
}
$ENV{SCRIPT_NAME} = $rel;
}
elsif (not -f $ENV{SCRIPT_FILENAME}) {
- print STDERR "PLP: Not found: $ENV{SCRIPT_FILENAME} ($ENV{REQUEST_URI})\n";
+ warn "PLP: Not found: $ENV{SCRIPT_FILENAME} ($ENV{REQUEST_URI})\n";
PLP::error(undef, 404);
return;
}
$ENV{"PLP_$_"} = $ENV{"SCRIPT_$_"} for qw/NAME FILENAME/;
if (not -r $ENV{PLP_FILENAME}) {
- print STDERR "PLP: Can't read: $ENV{PLP_FILENAME} ($ENV{REQUEST_URI})\n";
+ warn "PLP: Can't read: $ENV{PLP_FILENAME} ($ENV{REQUEST_URI})\n";
PLP::error(undef, 403);
return;
}