Hi. I am in the process of wiring calls to TheSchwartz into a Catalyst application (to queue indexing jobs).
When I do a $client->insert() from a standalone script, everything is fine, but when I do the same thing from within Catalyst, I get an error: Can't use string ("Data::ObjectDriver::Driver::DBD:") as a SCALAR ref while "strict refs" in use at /usr/share/perl5/Data/ObjectDriver/Driver/DBD.pm line 13 Adding the patch included below to Data::ObjectDriver::Driver::DBD makes it work as expected (no error, job is inserted in the job-queue). I wonder why it is not needed "outside" Catalyst, but within. I guess that it is due to some module that Catalyst uses, and my script doesn't - but which one? (The standalone script does use strict; use warnings; so it is not one one those :-)) Just curious... Best regards, Adam [Catalyst 5.7007, Data::ObjectDriver 0.04, TheSchwartz 1.04] -- Adam Sjøgren [EMAIL PROTECTED] --- DBD.pm.orig 2007-11-12 09:56:12.056777877 +0100 +++ DBD.pm 2007-11-12 10:02:21.473628001 +0100 @@ -10,10 +10,13 @@ my($name) = @_; die "No Driver" unless $name; my $subclass = join '::', $class, $name; + { + no strict; unless (defined ${"${subclass}::"}) { eval "use $subclass"; ## no critic die $@ if $@; } + } bless {}, $subclass; } _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/[EMAIL PROTECTED]/ Dev site: http://dev.catalyst.perl.org/