Ok.. Im trying to build a configuration module that will suck the options from a database, and let you overide them via command line arguments

I have been fighting this code for days now and have seemingly found my culprit.. The error I am receiving is:

Can't use an undefined value as a HASH reference at ./x line 46.

In the code sample to follow, if I skip the DBI->connect, the script behaves as it should. (Uncomment the 'last;' in the SKIP block) The code that I'm actually using is attaching to Oracle, below I use the ExampleP driver.. Both exhibit the same problem so I believe it's DBI.. or I'm missing something altogether!

Is there something I'm missing? I just upgraded DBI to 1.37.. originally I was using 1.21. And as noted from the shebang, I'm using a, well, more recent version of perl.. I've also tried 5.005.. same results.

As always, any and all help would be greatly appreciated!
Shawn 8)

And now for some code to demonstrate! (I know it's an incomplete interface.. could that be the problem and I just need to finish it?)

#!/db01/app/perl/5.6.1/bin/perl package Test; use strict; use Data::Dumper; use DBI; sub TIEHASH { bless {}, shift } sub FETCH { my($s,$k,$v)=@_; my $store=$s->{STORE}->{$k} ||= {}; $store->{bar}='baz'; SKIP: { # last; my $dbh=DBI->connect('dbi:ExampleP:','','') or die; } $store; } 1; package main; use Data::Dumper; my %h; tie %h, 'Test'; %h->{a}->{'foo'}='bar'; print Dumper %h->{a};

Thanks again.. Your help is appreciated!


In reply to Problem with tie (hash) and dbi? by smferris

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.