I tried running this script and I get error stating "Use of uninitialized value in concatenation (.) or string at H:scripts\orcl_test.pl line 8 and line 9". So basically it doesnt know what "$ENV{'ORACLE_HOME'}/network/admin/tnsnames.ora" means??
Is ORACLE_HOME a variable that is defined? You may need to set up your environment first.
Also, you could check out tnsping from your new computer, this will help determine if you really can get to the database or not with your current config.
Heres something else that is really odd. Even though SQL Plus and Benthic work, I cant connect using an ODBC connection to Oracle using Windows XPs ODBC Data Source Admin, which I was able to do on my old computer. It also gives me the same error as when I run my perl scripts.