From: | Michael Fuhr <mike(at)fuhr(dot)org> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-patches(at)postgresql(dot)org, Andrew Dunstan <andrew(at)dunslane(dot)net> |
Subject: | Re: PL/Perl regression tests with use_strict |
Date: | 2005-08-24 05:37:26 |
Message-ID: | 20050824053726.GA34097@winnie.fuhr.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-patches |
On Tue, Aug 23, 2005 at 10:30:51PM -0600, Michael Fuhr wrote:
> Global symbol "$x" requires explicit package name at (eval 3) line 1.
>
> If I'm reading the Perl source code correctly (pp_ctl.c), the number
> following "eval" comes from a variable named PL_evalseq that's
> incremented each time it appears in one of these messages. It looks
> like we'd have to munge the error message to get rid of that.
Hmmm...tests suggest that we might be able to munge $@ in the
mk*safefunc functions. That is, instead of doing
return eval($stuff);
we might be able to do
my $retval = eval($stuff);
$@ =~ s/ \(eval \d+\) / /g if $@;
return $retval;
That would convert messages like
Global symbol "$x" requires explicit package name at (eval 3) line 1.
into
Global symbol "$x" requires explicit package name at line 1.
Is that what you're looking for? So far I've done only simple tests
in standalone embedded Perl programs, so I don't know if this approach
would work in PL/Perl or have unintended effects.
--
Michael Fuhr
From | Date | Subject | |
---|---|---|---|
Next Message | Andrew Dunstan | 2005-08-24 05:38:46 | Re: PL/Perl regression tests with use_strict |
Previous Message | Michael Fuhr | 2005-08-24 04:30:51 | Re: PL/Perl regression tests with use_strict |