in reply to DBI and plain text passwords
At work we use a module that reads a tucked-away file containing a list of Oracle instances and their corresponding login and password info, like so:
db1/user1/pass1
db2/user2/pass2
...
Any script that needs database access simply calls:
my $dbh = DBModule->new('db1');
and the module handles the password stuff. This way even the programmers don't have to know the password (I'd hate working in a place like that though!). Our module also optionally accepts the login and password if specified.
Now as for plain text passwords going across the network.. the previous 2 replies seem to have some good answers to that problem.