I try to make gitweb run under mod_perl without need to set up CGI environmental variables, and without need to parse headers. I try to do this in such a way that one will be able to run gitweb under mod_cgi (as an ordinary CGI script), under mod_perl 1.0 Apache::registry and under mod_perl 2.0 ModPerl::Registry without changes. I'm trying to do the first part (running without need for SetupEnv), but I'm encountering some strange errors and I'm stumped. I have taken the version independent initialization from http://perl.apache.org/docs/2.0/user/porting/porting.html#Making_Code_Conditional_on_Running_mod_perl_Version -- >8 -- # Set the constant MP_GEN to 0 if mod_perl is not available, # to 1 if running under mod_perl 1.0 # and 2 for mod_perl 2.0 use constant MP_GEN => $ENV{'MOD_PERL'} ? { ( exists $ENV{'MOD_PERL_API_VERSION'} and $ENV{'MOD_PERL_API_VERSION'} >= 2 ) ? 2 : 1 } : 0; # use appropriate mod_perl modules (conditional use) BEGIN { if (MP_GEN == 2) { require Apache2::RequestRec; require Apache2::ServerRec; require Apache2::Response; require Apache2::Const; import Apache2::RequestRec; import Apache2::ServerRec; Apache2::Const->import(-compile => qw(:common :http)); } elsif (MP_GEN == 1) { require Apache; require Apache::Constants; import Apache; Apache::Constants->import(qw(:common :http)); } } # mod_perl request my $r; $r = shift @_ if MP_GEN; -- >8 -- Then later I try to use mod_perl rather than $ENV{'SERVER_NAME'} -- >8 -- # name of your site or organization to appear in page titles # replace this with something more descriptive for clearer bookmarks our $site_name = "++GITWEB_SITENAME++" || (($r ? $r->server()->server_hostname() : $ENV{'SERVER_NAME'}) || "Untitled") . " Git"; -- >8 -- but I'm encountering the following error: Can't locate object method "server_hostname" via package "Apache2::ServerRec" at /var/www/perl/gitweb/gitweb.cgi line 83. What is strange from time to time it _works_. Can anyone tell me what I'm doing wrong? -- Jakub Narebski Poland - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html