On Thursday, August 29, 2002, at 01:02 PM, Bruno Wolff III wrote:
> On Thu, Aug 29, 2002 at 12:17:16 -0700,
> David Wheeler <david@wheeler.net> wrote:
>> BTW, I missed the beginning of this thread, but based on the subject,
>> I'd sure like to find out if there's a simple way to suppress NOTICEs
>> using DBI/DBD::Pg. I've tried a number of tricks, but short of closing
>> STDOUT and STDERR in my Perl script, I've not found a way to do it.
>> PrintError => 0 doesn't do the trick.
>
> I do the following before doing anything with the database:
> open(OLDERR, '>&STDERR');
> close(STDERR);
> open(STDERR, '>/dev/null');
Thanks for the suggestion. Unfortunately, that doesn't allow me to
filter out just the NOTICEs, and let everything else be printed. The
solution I've come up with, for those who are interested, is either
this:
open STDERR, "| perl -e 'while (<>) { print unless /^NOTICE: / }'"
or die "Cannot pipe STDERR: $!\n";
Or this:
open STDERR, "| grep -v '^NOTICE: '"
or die "Cannot pipe STDERR to grep\n";
The former will be more portable, since we already know we have Perl ;-)
Thanks for the help!
David
--
David Wheeler AIM: dwTheory
david@wheeler.net ICQ: 15726394
http://david.wheeler.net/ Yahoo!: dew7e
Jabber: Theory@jabber.org