One of the ways that I have solved this and issues like it in the past has been to create a DBConfig.pm file somewhere in the list of directories pointed to by @INC.

A sample sniglet looks like:

package DBConfig;

sub new {
           $self = { 
                     ORACLE_HOME => '/home/oracle',
                     SYBASE_HOME => '/home/sybase',
                     DBParms=>{
                       oracle => {
                         host => 'oraclehost',
                         user => 'user',
                         password => 'secret'
                        }
            
           };
    bless $self;
    return $self;
}

<snip!>

To instantiate the information:

use DBConfig;
use DBI;

my $dbconf=new DBConfig;
#
# Some hand waving here...
my $dbh=DBI->connect(
                       $dbconf->{DBParms}->{oracle}->{user}
               ...etc....

You get the idea I hope.

Now if the database information changes OR you add a supported database you just have to edit one place.

A very cute extension to this idea that I saw recently was to read in the $ORACLE_HOME/network/admin/tnsnames.ora file and parse it to get data for individual application databases

Hope this helps.


Peter L. BergholdBrewer of Belgian Ales
Peter@Berghold.Netwww.berghold.net
Unix Professional

In reply to Re: setting oracle home globally through perl by blue_cowdawg
in thread setting oracle home globally through perl by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.