sub dbConnect(){ my ($dbName) = @_; LogStatus "Retrieving $dbName login info"; my ($dbUser, $dbPass) = get_db_login($dbName); LogStatus "User for $dbName is $dbUser"; die "$0: Could not find password for $dbUser" unless(defined($dbPass)); my $dbh = DBI->connect("dbi:DB2:$dbName", $dbUser, $dbPass, {AutoCommit=> 0, RaiseError => 1}) || die "Can't connect to $database: $DBI::errstr"; LogStatus "Connected to $dbName as $dbUser"; return $dbh; } sub get_db_login { my ($dbName) = @_; my ($dbUser, $dbPass, $whoami); chomp($whoami = `whoami`); open(PASSWD,"/home/$whoami/.passwd") or die "~/.passwd does not exist"; while(){ if($_=~/^$dbName\s+(\w+)\s+(\w+)/i){ $dbUser = $1; $dbPass = $2; } } close PASSWD; return $dbUser, $dbPass; }