package My::DB;
use strict;
use DBI;
use vars qw( $dbname );
$dbname = 'dbi:mysql:production_db';
{ my $dbh;
sub dbh {
$dbh ||= DBI->new($dbname);
$dbh;
};
sub disconnect {
$dbh->disconnect
if $dbh;
};
};
package main;
use My::DB;
my $dbh = My::DB::dbh;
# ... do stuff
####
use strict;
use My::DB;
{
no warnings 'redefine';
$My::DB::dbname = 'dbi:mysql:test_db';
};
my $dbh = My::DB::dbh;
...
##
##
perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The
$d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider
($c = $d->accept())->get_request(); $c->send_response( new #in the
HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web