in reply to Read from a header file like C

Don't do it directly in Perl if you're using MySQL. Use their option file; described in DBD::mysql, and look for mysql_read_default_file. File, often named .my.cnf, looks something like (not tested, obviously)–

[client] port=1000 host=abc01.xyz.com user=gvenkat password=ganesh99. default-character-set=utf8

Connection–

my $dbh = DBI->connect("DBI:mysql:$dbnam;mysql_read_default_file=/home +/gvenkat/.my.cnf");

Lock the file permissions down to 400, owned by the process user that your script uses.