PATH_INFO was intentionally declared undef in PLP::Backend::CGI, but
would be concatenated later (in Apache mode at least), giving warnings
since
d9f3acb221a71e094318c7b5d3809aa81db (use warnings in all modules).
# 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});
# 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});
while (not -f $path) {
if (not $path =~ s/(\/+[^\/]*)$//) {
printf STDERR "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n";
while (not -f $path) {
if (not $path =~ s/(\/+[^\/]*)$//) {
printf STDERR "PLP: Not found: $path$path_info ($ENV{REQUEST_URI})\n";
# move last path element onto PATH_INFO
$path_info = $1 . $path_info;
}
# 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;
}
$rel =~ s/\Q$path_info\E$//;
$ENV{PATH_INFO} = $path_info;
}