Please tell us by what means you “installed the DBD Oracle drivers.” Did you use CPAN, or did you perhaps install a package using the tools provided by your Linux installation?

In any case, the root cause of your immediate problem is that Perl right now cannot locate the requested packages by searching through any entry in the @INC array, nor by looking through any of the directory locations that are built-in to the Perl executable itself. (All of which locations, by the way, are provided in the error-message, or which can be obtained by executing perl -V (with a capital “V”) on the command-line.

Why not? Aye, there’s the rub. Fact is, there could be many reasons. Probably the first order of business is to find out (e.g. using the Unix locate command...) where any file named Oracle.pm might possibly be. Once you’ve found it, then you can move forward to see why Perl does not yet know to look for it there. It’ll be a bit of sleuthing ... could be any one of several reasons, really. So, step-one is to determine what the present situation is.

Hello! Thanks once again for your reply. I apologize if I wasn't more clear. I installed the DBD::Oracle package via cpan. I was having a tough time getting a manual download of DBD Oracle from the cpan site to work. So once I discovered the correct proxy settings for my network I decided to give the automated cpan a shot.

Normally, were this linux I would simply use locate, but as this is a solaris 10 machine best I could do was a 'find' for Oracle.pm. This is what I was able to turn up.

The reason you see Oracle.pm in this location (/usr/perl5/site_perl/5.8.4/sun4-solaris-64int/DBD) is that in my experiments to get this to work I tried moving the Oracle.pm driver to the same place I found a bunch of other DBD drivers. Here's a listing of that directory:

The above suggests to me you have multiple Perls installed. Is /usr/bin/perl a symbolic link perhaps? I think you have not installed DBD::Oracle into the Perl you are using. The script you previously quoted started #!/usr/bin/perl and you presumably ran it with ./myscript.pl but we don't know if you have another Perl on your PATH (one perhaps you were using with the CPAN shell). So, what does "which perl" return and what happens when you run:

If it is not installed, download it and install it yourself. Although installing DBD::Oracle via the CPAN shell is possible you really need to set ORACLE_HOME or LD_LIBRARY_PATH (when using Instant Client) and set ORACLE_USERID, TWO_TASK etc to run the tests.

Also, I don't believe changing LD_LIBRARY_PATH in your Perl code will work. I believe it needs to be set before you run your script.

Lastly, don't just blindly copy module files around, it often won't work and nearly always won't work when there is some XS code and hence a shared object that goes with the module.

When putting a smiley right before a closing parenthesis, do you:

Use two parentheses: (Like this: :) )
Use one parenthesis: (Like this: :)
Reverse direction of the smiley: (Like this: (: )
Use angle/square brackets instead of parentheses
Use C-style commenting to set the smiley off from the closing parenthesis
Make the smiley a dunce: (:>
I disapprove of emoticons
Other