What version of CGI::Application do you have installed?
Assuming the most recent one
(https://metacpan.org/source/MARKSTOS/CGI-Application-4.50/lib/CGI/Application.pm),
line 1951 is:
if ( $p{path_info} && $self->query->path_info() ) {
$self->query calls the 'query' method, defined at line 493. I'm
guessing code flow goes into the 'else' half of the branch there, and
ends up calling $self->cgiapp_get_query() (on line 503).
That method is defined at line 250, and ultimately returns the result
of calling CGI->new().
I would suggest either putting in some debug print() statements into
that cgiapp_get_query() routine, or using the debugger to stop
execution inside there and looking at what that call from CGI->new()
is actually returning.
chrs,
john.
On Tue, Nov 25, 2014 at 7:56 AM, Patton, Billy N <[email protected]> wrote:
> OS : mac 10.10.1 Yosemite
> Perl version : 5.16.0 (perlbrew)
> I have file cp.cgi that is the top level
> It uses CP.pm
> which inherits Base.pm
> which inherits CGI::Application
> CGI::Application Requires CGI.pm
> CGI.pm has a use CGI::Util qw(… unescape …);
>
> When I try and run cp.cgi I get a timeout.
> The erro log only tells me that I get a timeout
> [Tue Nov 25 09:13:53.677383 2014] [cgi:warn] [pid 461] [client ::1:63053]
> AH01220: Timeout waiting for output from CGI script
> /Library/WebServer/Documents/cportal/html/cp.cgi, referer:
> http://localhost/index.html
>
> when I try and run it from the command line : perl cp.cgi
> I get
> <h1>Software error:</h1>
> <pre>Undefined subroutine CGI::unescape
> at
> /Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application.pm
> line 1951.
> </pre>
> <p>
> For help, please send mail to this site's webmaster, giving this error message
> and the time and date of the error.
>
> </p>
> [Tue Nov 25 09:34:59 2014] cp.cgi: Undefined subroutine CGI::unescape
> [Tue Nov 25 09:34:59 2014] cp.cgi: at
> /Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application.pm
> line 1951.
>
> unescape exists in CGI::Util.pm and is exported.
>
> When I put a Dumper \%INC I get: Making sure that I wasn’t mixing too many
> version
>
> 'CGI/Application.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application.pm’,
> 'CGI/Application/Plugin/Redirect.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/Redirect.pm',
> 'CGI/Application/Plugin/TT.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/TT.pm’,
> 'CGI/Application/Plugin/ValidateRM.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/ValidateRM.pm’,
> 'CGI/Application/Plugin/LogDispatch.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/LogDispatch.pm',
> 'CGI/Carp.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Carp.pm’,
> 'CGI/Application/Plugin/Config/YAML.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/Config/YAML.pm',
> 'CGI/Application/Plugin/DBH.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/DBH.pm’,
> 'CGI/Util.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Util.pm’,
> 'CGI/Application/Plugin/Forward.pm' =>
> '/Users/bpatto/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/CGI/Application/Plugin/Forward.pm’,
>
> unescape does not exist in Application, even though it tells me line 1951
> %INC shows me that it is including the right file.
> Util.pm is exporting
> package CGI::Util;
> use base 'Exporter';
> require 5.008001;
> use strict;
> use if $] >= 5.019, 'deprecate';
> our @EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
> expires ebcdic2ascii ascii2ebcdic);
>
> our $VERSION = '4.09’;
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
http://learn.perl.org/