Try:
local $SIG{__WARN__} = sub {};
Tim.
On Mon, Oct 28, 2002 at 01:22:02PM -0500, Jeff Boes wrote:
> This is more of a curiosity question than a possible bug report. I have
> a customized layer on top of DBI which includes code to enable the
> Profile feature; however, the installation of the upgraded DBI package
> that supports Profile was delayed. As a result, my code looks like--
>
> local($connection->{PrintError}) = 0;
> local($connection->{RaiseError}) = 1;
> if ($conn_is_new or !eval { $connection->{Profile} }) {
> my $profile_level;
> if ($debug == 0) {
> $profile_level = 0;
> } elsif ($debug > 4) {
> $profile_level = 6;
> } elsif ($debug) {
> $profile_level = 2;
> }
> eval { $connection->{Profile} = $profile_level; 1 }
> or logdbg 1, 'Profile is not enabled, skipping';
> }
>
> My question is: how can I suppress messages such as this:
>
> Can't set DBI::db=HASH(0x8efe548)->{Profile}: unrecognised attribute or
> invalid value
>
> I tried to do so in the code above by clearing PrintError, but
> apparently the error generated by assigning to $db->{Profile} is coming
> from somewhere so deep inside the DBI code that it's not honoring
> PrintError (or eval{}, for that matter!).
>
> --
> Jeff Boes vox 616.226.9550 ext 24
> Database Engineer fax 616.349.9076
> Nexcerpt, Inc. http://www.nexcerpt.com
> ...Nexcerpt... Extend your Expertise
>