[pm-h] mod perl and calendar.cgi

Fraser Baker flbaker at sbcglobal.net
Tue May 6 08:53:55 PDT 2014


Some progress, but still not working.

Turns out that the problem file "calendar.cgi" was using a locally installed 
liteweight version of template.pm.

I renamed the file CalTemplate.pm and put it into the site/lib/HTML folder.
I changed the package name in this file to CalTemplate.pm

The %INC shows:
For HTML/CalTemplate.pm value is C:/Perl/site/lib/HTML/CalTemplate.pm

The use statement in calendar.cgi is
use HTML::CalTemplate;

The use directive finds and appears to load the file, but the same line as 
before can't find initialize
[Tue May 06 10:15:30 2014] [error] Can't locate object method "initialize" 
via package "HTML::CalTemplate" (perhaps you forgot to load 
"HTML::CalTemplate"?) at 
D:/www/wc-admin.com/cgi-bin/event_calendar/calendar.cgi line 131.\n

The offending line 131 is
my $tmpl = CalTemplate->initialize( $directives->{'template'} || 
'calendar.html' );

Obviously, my understanding about mod_perl and now OOP is limited, so any 
comments?

Fraser

----- Original Message ----- 
From: "G. Wade Johnson" <gwadej at anomaly.org>
To: <houston at pm.org>
Sent: Monday, May 05, 2014 11:40 AM
Subject: Re: [pm-h] mod perl and calendar.cgi


> On Mon, 5 May 2014 09:09:11 -0500
> "Fraser Baker" <flbaker at sbcglobal.net> wrote:
>
>> Hi:
>>
>> OK, I had two copies of HTML::Template, one in Site and the other
>> came with PERL. I removed the one in Site and this made no difference.
>>
>> Reading a bit, always dangerous, I find that find that the page
>> http://www.devshed.com/c/a/perl/getting-started-with-the-perl-template-toolkit/
>> talks about installing Apache::Template.
>>
>> Is this what I need to do? I really need to resolve this issue. There
>> must be someone out there that can help me resolve this.
>
> Hi Fraser,
>
> Template Toolkit is completely different from HTML::Template.
> Apache::Template works with Template Toolkit, so installing it would
> not help your issue. (Unless you wanted to rewrite everything you are
> doing in Template instead of HTML::Template. <jk/>)
>
> G. Wade
>
>> Fraser
>>
>> ----- Original Message ----- 
>> From: "B. Estrade" <estrabd at gmail.com>
>> To: "Houston.pm located in Houston, TX." <houston at pm.org>
>> Sent: Friday, April 25, 2014 7:51 PM
>> Subject: Re: [pm-h] mod perl and calendar.cgi
>>
>>
>> > On Fri, Apr 25, 2014 at 1:44 PM, G. Wade Johnson
>> > <gwadej at anomaly.org> wrote:
>> >> On Fri, 25 Apr 2014 12:09:59 -0500
>> >> "Fraser Baker" <flbaker at sbcglobal.net> wrote:
>> >>
>> >>> OK:
>> >>>
>> >>> For the server that is NOT running mod_perl
>> >>> INCLUDED DATA ARRAY is
>> >>> Term is C:/Perl/site/lib
>> >>> Term is C:/Perl/lib
>> >>> Term is .
>> >>>
>> >>> For the server that IS running mod_perl
>> >>>
>> >>> INCLUDED DATA ARRAY is
>> >>> Term is D:/www/wc-admin.com/cgi-bin
>> >>> Term is C:/Perl/site/lib
>> >>> Term is C:/Perl/lib
>> >>> Term is .
>> >>> Term is C:/Program Files/Apache Software Foundation/Apache2.2
>> >>
>> >> Okay. This gives us some stuff to work with.
>> >>
>> >> Check each of the directories in the two sets of paths for
>> >> HTML/Template.pm. This might show more than one HTML::Template
>> >> module installed.
>> >
>> > Or none at all. Make sure HTML::Template is installed.
>> >
>> >>
>> >> Next, check to see if you have the same version of HTML::Template
>> >> on both machines. I had somehow missed earlier that these were two
>> >> separate machines. (Brain fail)
>> >>
>> >
>> > /me too... oopsie
>> >
>> >> You'll want to verify that there is only one version of
>> >> HTML::Template on each server and that the versions on the two
>> >> servers match.
>> >>
>> >> If the one that works is older than the one that doesn't,
>> >> upgrading will require code changes to match the newer module. If
>> >> the one that works is the newer version, you can upgrade the
>> >> version and the problem should be solved.
>> >>
>> >> G. Wade
>> >>
>> >>
>> >>> I don't see anything here. Where to go from here?
>> >
>> > Is this mod_perl or mod_perl2? I am not familiar with any of this on
>> > Windows unfortunately.  You could create a barebones script that
>> > just tries to include HTML::Template using one directory in @INC at
>> > a time. mod_perl also does funky things with applications that are
>> > not meant to be run persistently - so if this is the case there are
>> > request "handlers" that are meant to restart or recompile/restart
>> > for each request.
>> >
>> > Unfortunately it could be a tedious process to track it down, but I
>> > think wade's put you on the right track.
>> >
>> > Brett
>> >
>> >>>
>> >>> Fraser
>> >>>
>> >>>
>> >>> ----- Original Message -----
>> >>> From: "G. Wade Johnson" <gwadej at anomaly.org>
>> >>> To: <houston at pm.org>
>> >>> Sent: Friday, April 25, 2014 11:25 AM
>> >>> Subject: Re: [pm-h] mod perl and calendar.cgi
>> >>>
>> >>>
>> >>> > On Fri, 25 Apr 2014 08:23:59 -0500
>> >>> > "Fraser Baker" <flbaker at sbcglobal.net> wrote:
>> >>> >
>> >>> >> Hi Brett:
>> >>> >>
>> >>> >> Turns out that for the mod_perl server, there are some 165
>> >>> >> entries in %INC whereas for the not mod-perl server there is
>> >>> >> only one.
>> >>> >
>> >>> > Hi Fraser,
>> >>> >
>> >>> > There are 2 different things here.
>> >>> >
>> >>> > @INC contains a list of directories that perl searches for
>> >>> > modules. %INC contains entries for each module that is loaded.
>> >>> >
>> >>> > I believe the suggestion was to check @INC to see if a module is
>> >>> > loaded from a location you are not expecting.
>> >>> >
>> >>> > G. Wade
>> >>> >
>> >>> >> The %ENV is larger by about 5 entries on the mod_perl machine.
>> >>> >>
>> >>> >> OK, where do I go from here.
>> >>> >>
>> >>> >> Fraser
>> >>> >>
>> >>> >> ----- Original Message -----
>> >>> >> From: "B. Estrade" <estrabd at gmail.com>
>> >>> >> To: "Houston.pm located in Houston, TX." <houston at pm.org>
>> >>> >> Sent: Tuesday, April 22, 2014 10:15 AM
>> >>> >> Subject: Re: [pm-h] mod perl and calendar.cgi
>> >>> >>
>> >>> >>
>> >>> >> > Just a hunch, but I'd look to see how mod_perl affected your
>> >>> >> > environment. namely @INC.
>> >>> >> >
>> >>> >> > Brett
>> >>> >> >
>> >>> >> > On Tue, Apr 22, 2014 at 9:47 AM, Fraser Baker
>> >>> >> > <flbaker at sbcglobal.net> wrote:
>> >>> >> >> Hi y'all:
>> >>> >> >>
>> >>> >> >> Before I added mod-perl, calendar.cgi worked.
>> >>> >> >>
>> >>> >> >> After mod perl I get this error:
>> >>> >> >>
>> >>> >> >> [Tue Apr 22 09:28:35 2014] [error] Can't locate object
>> >>> >> >> method "initialize"
>> >>> >> >> via package "HTML::Template" at
>> >>> >> >> D:/www/wc-admin.com/cgi-bin/event_calendar/calendar.cgi line
>> >>> >> >> 131.\n
>> >>> >> >>
>> >>> >> >> The offending line in calendar.cgi is:
>> >>> >> >>
>> >>> >> >> my
>> >>> >> >>
>> >>> >> >> $tmpl =
>> >>> >> >> HTML::Template->initialize( $directives->{'template'} ||
>> >>> >> >> 'template.html' );
>> >>> >> >>
>> >>> >> >> I searched template.pm and don't find a function named
>> >>> >> >> initialize. I do find
>> >>> >> >>
>> >>> >> >> # initialize the template buffer
>> >>> >> >> sub _init_template {
>> >>> >> >>
>> >>> >> >> How do I fix this?
>> >>> >> >>
>> >>> >> >> Fraser
>> >>
>> >>
>> >> --
>> >> If debugging is the process of removing software bugs, the
>> >> programming must be the process of putting them in.
>> >> -- Edsger Dijkstra _______________________________________________
>> >> Houston mailing list
>> >> Houston at pm.org
>> >> http://mail.pm.org/mailman/listinfo/houston
>> >> Website: http://houston.pm.org/
>> > _______________________________________________
>> > Houston mailing list
>> > Houston at pm.org
>> > http://mail.pm.org/mailman/listinfo/houston
>> > Website: http://houston.pm.org/
>>
>> _______________________________________________
>> Houston mailing list
>> Houston at pm.org
>> http://mail.pm.org/mailman/listinfo/houston
>> Website: http://houston.pm.org/
>
>
> -- 
> Fortune knocks but once, but misfortune has much more patience.
>                                                -- Laurence J. Peter
> _______________________________________________
> Houston mailing list
> Houston at pm.org
> http://mail.pm.org/mailman/listinfo/houston
> Website: http://houston.pm.org/ 



More information about the Houston mailing list