Hello All, (This is perl, v5.8.8). Sorry if this is a bit specialised (EG not v. beginner) but I'm getting rather frustrated and could use some help.
I have a strange issue with a DBI/DBD::SQLite. I have a class that creates an instance of DBI, EG: package Foo; use strict; use warnings; use DBI; use Carp; my $DEBUG = 1 sub new { my $class = shift; my %args = @_; my $self = {}; $self->{debug} = $args{debug} || $DEBUG; ..... ..... $self->{dbh} = DBI->connect($dsn,'','', { PrintError=>1, PrintWarn=>1} ) or confess "Can't connect: DBI->errstr: $!\n"; bless $self, $class; return $self; } sub dbh { return $_[0]->{dbh}; } sub get_record { my $self = shift; my $sql = q(SELECT * FROM records WHERE path = ?); my $sth = $self->dbh->prepare($sql); print STDERR "STH=$sth DBH=".$self->dbh."\n"; $sth->execute($self->file) or confess "Can't prepare: ". $self->dbh->errstr."\n"; while (my $href = $sth->fetchrow_hashref ) { print STDERR "Record found $href->{id} Rows=". $sth->rows."\n" if $self->{debug}; $self->{record} = $href; } } ... 1; ### When I create an instance from a command-line script all works fine. my $foo = Foo->new(); $foo->get_record(); This prints: "STH=DBI::st=HASH(0x92b3f2c) DBH=DBI::db=HASH(0x92b1ee4)" The problem arise when I create an instance under a SOAP::Lite package. The package is running under mod_perl's Registry. In the HTTPD logs I see: DBD::SQLite::db prepare failed: not an error at /etc/perl/Foo.pm line 190. Use of uninitialized value in concatenation (.) or string at /etc/perl/Foo.pm line 191 (#2) STH= DBH=DBI::db=HASH(0x8a1568c) I suspect this is an oddity with mod_perl and SOAP but I can't see a why through. Does anyone have any ideas what I might try? I can't change the architecture and have to make this work within what's installed. Any ideas appreciated. Thanx, Dp, -- To unsubscribe, e-mail: beginners-unsubscr...@perl.org For additional commands, e-mail: beginners-h...@perl.org http://learn.perl.org/