CGI::Application.pm is version 4.5 Somehow I’ve managed to move beyond this problem. Probably because I dumped perlbrew.
I’m now getting a time out. With traces and multiple debug statements I’m getting to this location for the time out: sub AUTOLOAD { my($constname); ($constname = $AUTOLOAD) =~ s/.*:://o; $! = 0; my $val = constant($constname, @_ ? $_[0] : 0); if ($! != 0) { croak "Your vendor has not defined Socket macro $constname, used"; } eval "sub $AUTOLOAD { $val }"; goto &$AUTOLOAD; } This is from file /System/Library/Perl/Extras/5.18/darwin-thread-multi-2level/Socket6.pm I hit this inside the debugger. The code below is from my module that inherits CGI::Application. From some reason I don’t understand it calls CGI::Application::Plugin::TT::import the first thing. I can’t find where that is coming from. Why is it calling this before it even calls the “new” in Application.pm warn "Got to here : " . __FILE__ . ':'.__LINE__."\n"; use strict; use base 'CGI::Application'; warn "Got to here : " . __FILE__ . ':'.__LINE__."\n"; use CGI::Application::Plugin::TT; # Template Toolkit use CGI::Application::Plugin::DBH (qw/dbh_config dbh/); # Database handles On Nov 25, 2014, at 10:29 AM, John SJ Anderson <geneh...@genehack.org<mailto:geneh...@genehack.org>> wrote: What version of CGI::Application do you have installed? 4.5 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 <billy.pat...@h3net.com<mailto:billy.pat...@h3net.com>> 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’;