Erik Norgaard wrote:

> I have successfully created a module that declares some configuration
> parameters which should be available to the handler: dbDriver, dbHost,
> dbName, dbUser and dbPassword. Or so I think, I followed this guide:

Something is wrong, I can't read the variables, or they are undefined.
What am I missing?

I have in the handler-module declared variables $dbDriver, $dbHost etc.
and use this method to set them:

use Apache2::Module;

my $dbDriver;
my $dbHost;

sub handler { # basicly this:
my $r = shift;
print $dbHost;

sub config {
my $r = shift;
my $conf = Apache2::Module::get_config('XCMS::Config', $r->server);
$dbDriver = $conf->{'XCMSdbDriver'};
$dbHost = $conf->{'XCMSdbHost'};

The config($r) is called from the handler, and for testing I just print
the value of the $dbHost.

And this is in XCMS::Config:

use Apache2::CmdParms;
use Apache2::Module;
use Apache2:irective;

my @directives = (
{ name => 'XCMSdbDriver', args_how => "Apache2::Const::RAW_ARGS" },
{ name => 'XCMSdbHost', args_how => "Apache2::Const::RAW_ARGS" },

Apache2::Module::add(__PACKAGE__, \@directives);
sub XCMSdbHost {
my ($self, $parms, $val) = @_;
$self->{'XCMSdbHost'} = $val;

And this in the configuration of the virtual host

PerlLoadModule XCMS::Config
XCMSdbDriver Pg
XCMSdbHost localhost

But the variable remain undefined...

Thanks, Erik
Ph: +34.666334818 web:
X.509 Certificate:
Key ID: 69:79:B8:2C:E3:8F:E7:BE:5D:C3:C3:B1:74:62:B8:3F:9F :1F:69:B9