I have gotten around this by using the following:

eval ('my $CatVal = $attr->{TABLE_CAT};');

-dpf-

-----------------------
David P. Fannin
Database Administrator                                  [EMAIL PROTECTED]
UM-Rolla Computing and Information Services      FAX (573) 341-4216
URL  http://www.umr.edu/~dpf                   PHONE (573) 341-4841
-----------------------


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]
Sent: None
To: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: DBD::Oracle.pm - use of uninitialized variable line 327.


In Oracle.pm:

 $Id: Oracle.pm,v 1.92 2001/08/31 16:23:59 timbo Exp $
 $DBD::Oracle::VERSION = 1.12

Perl: v5.6.1 built for sun4-solaris
Oracle: v.8.1.7

I get these four as undef values, which barfs the uninitialized variable
message on line 327.

 320  # SQL/CLI (ISO/IEC JTC 1/SC 32 N 0595), 6.63 Tables
 321: my $CatVal = $attr->{TABLE_CAT};
 322: my $SchVal = $attr->{TABLE_SCHEM};
 323: my $TblVal = $attr->{TABLE_NAME};
 324: my $TypVal = $attr->{TABLE_TYPE};
 325: my @Where = ();
 326: my $Sql;
 327: if ( $CatVal eq '%' && $SchVal eq '' && $TblVal eq '') { # Rule 19a

Would the obvious fix of adding a default of the empty string work? e.g.

  my $CatVal = $attr->{TABLE_CAT} || '';

Michael

--- patch ---
$ diff -c DBD-Oracle-1.12/Oracle.pm ../lib/sun4-solaris/DBD/Oracle.pm
*** DBD-Oracle-1.12/Oracle.pm                Fri Aug 31 11:27:17 2001
--- ../lib/sun4-solaris/DBD/Oracle.pm        Mon Dec 10 10:52:11 2001
***************
*** 318,327 ****
        # XXX add knowledge of temp tables, etc

        # SQL/CLI (ISO/IEC JTC 1/SC 32 N 0595), 6.63 Tables
!       my $CatVal = $attr->{TABLE_CAT};
!       my $SchVal = $attr->{TABLE_SCHEM};
!       my $TblVal = $attr->{TABLE_NAME};
!       my $TypVal = $attr->{TABLE_TYPE};
        my @Where = ();
        my $Sql;
        if ( $CatVal eq '%' && $SchVal eq '' && $TblVal eq '') { # Rule 19a
--- 318,327 ----
        # XXX add knowledge of temp tables, etc

        # SQL/CLI (ISO/IEC JTC 1/SC 32 N 0595), 6.63 Tables
!       my $CatVal = $attr->{TABLE_CAT} || '';
!       my $SchVal = $attr->{TABLE_SCHEM} || '';
!       my $TblVal = $attr->{TABLE_NAME} || '';
!       my $TypVal = $attr->{TABLE_TYPE} || '';
        my @Where = ();
        my $Sql;
        if ( $CatVal eq '%' && $SchVal eq '' && $TblVal eq '') { # Rule 19a

--- end patch
---

---------------------------------------------
Valuenet Web Mail.
http://www.valuenet.net/


Reply via email to