{ my $dbh; sub rm_conn { my ($db, $user, $pass) = @_; require DBI; return $dbh if $dbh; # already connected $dbh = DBI->connect("DBI:Pg:dbname=$db;",$user,$pass, {'RaiseError' => 1}) or die "Can't connect to $db $DBI::errstr; return $dbh; } sub dis_conn { $dbh->disconnect if $dbh; } } END { dis_conn() } #### sub get_db_stuff { my ($filename) = @_; open F, $filename or die "Can't read $filename $!\n"; my $data = ; close F; # this split allows comma, tab or space separated data # but of course precludes spaces in the names my ($db,$user,$pass) = split /[,\s]+/, $data; die "Invalid $data in $filename!\n" unless $db and $user and $pass; return ($db,$user,$pass); }