Oi Jorge,
Maybe it's just me but I think you should upgrade Apache. I'm using 1.3.27,
which is the latest from www.apache.org's mirrors. Apache Version 1 is no longer
being developed, in favor of Apache 2.
Strict refs is a Perl term about what kind of tokens to allow as references
and you shouldn't get it in a properly debugged module. Maybe something is old. What
version of Perl are you using?
Greg
Gregory L. Hering
(256) 722-6420
4807 Bradford Dr
Benchmark Electronics, Inc.
Huntsville, Al 35805
> -----Original Message-----
> From: Jorge Anselmo [mailto:[EMAIL PROTECTED]
> Sent: Thursday, July 17, 2003 10:41 AM
> To: [EMAIL PROTECTED]
> Subject: apache+mod_perl+mod_auth_pgsql
>
>
> Hi, I have a problem with integration of
> apache+mod_perl+mod_auth_pgsql. The
> error is the follow:
>
>
> [Tue Jul 15 13:06:47 2003] [error] Can't use string ("") as a
> HASH ref
> while"strict refs" in use at
> /usr/lib/perl5/site_perl/5.8.0/i386-linux/DBI.pm
> line 506
>
> and
>
>
> [Tue Jul 15 17:49:21 2003] [notice] child pid 3644 exit
> signal Segmentation
> fault (11)
>
> apache 1.3.9, postgreSQL 7.3.2, mod_perl 1.27 mod_auth_pgsql 0.9.12
>
> DBI version 1.37
>
> lines 487 - 540
>
> # --- The DBI->connect Front Door methods
>
> sub connect_cached {
> # XXX we expect Apache::DBI users to still call connect()
> my ($class, $dsn, $user, $pass, $attr) = @_;
> ($attr ||= {})->{dbi_connect_method} = 'connect_cached';
> return $class->connect($dsn, $user, $pass, $attr);
> }
>
> sub connect {
> my $class = shift;
> my ($dsn, $user, $pass, $attr, $old_driver) = my @orig_args = @_;
> my $driver;
>
> if ($attr and !ref($attr)) { # switch $old_driver<->$attr
> if called in old
> style
> Carp::carp("DBI->connect using 'old-style' syntax is
> deprecated and
> will be an error in future versions");
> ($old_driver, $attr) = ($attr, $old_driver);
> }
>
> my $connect_meth = $attr->{dbi_connect_method};
> $connect_meth ||= $DBI::connect_via; # fallback to default
>
> $dsn ||= $ENV{DBI_DSN} || $ENV{DBI_DBNAME} || '' unless
> $old_driver;
>
> if ($DBI::dbi_debug) {
> local $^W = 0;
> pop @_ if $connect_meth ne 'connect';
> my @args = @_; $args[2] = '****'; # hide password
> DBI->trace_msg(" ->
> $class->$connect_meth(".join(",",@args).")\n");
> }
> Carp::croak('Usage: $class->connect([$dsn [,$user [,$passwd
> [,\%attr]]]])')
> if (ref $old_driver or ($attr and not ref $attr) or
> ref $pass);
>
> # extract dbi:driver prefix from $dsn into $1
> $dsn =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i
> or '' =~ /()/; # ensure $1 etc are
> empty if match
> fails
> my $driver_attrib_spec = $2 || '';
>
> # Set $driver. Old style driver, if specified, overrides
> new dsn style.
> $driver = $old_driver || $1 || $ENV{DBI_DRIVER}
> or Carp::croak("Can't connect(@_), no database driver
> specified "
> ."and DBI_DSN env var not set");
>
> if ($ENV{DBI_AUTOPROXY} && $driver ne 'Proxy' && $driver
> ne 'Sponge' &&
> $driver ne 'Switch') {
> my $proxy = 'Proxy';
> if ($ENV{DBI_AUTOPROXY} =~ s/^dbi:(\w*?)(?:\((.*?)\))?://i) {
> $proxy = $1;
> my $attr_spec = $2 || '';
> $driver_attrib_spec = ($driver_attrib_spec) ?
> "$driver_attrib_spec,$attr_spec" : $attr_spec;
> }
> $dsn = "$ENV{DBI_AUTOPROXY};dsn=dbi:$driver:$dsn";
> $driver = $proxy;
> DBI->trace_msg(" DBI_AUTOPROXY:
> dbi:$driver($driver_attrib_spec):$dsn\n");
> }
>
> anything idea?
>
> []'s
>
> Jorge Odair de Olievira Anselmo
>
>
>