On Wed, Apr 20, 2005 at 04:20:11PM +0100, Nicholas Clark wrote:
> Interesting. Worrisome.
> 
> I presume the intent of TARGET is to save overhead of allocating scalars.
> As the problem seems to be endemic, is the solution to create a new function
> (er, or macro) that clears all state, and use that in place of things like the
> piecemeal utf8 flag clearing.

Yuk.

Just as a quick 'what if' test, I tried adding SvOK_off() to dTARGET
and it immediately fell over, eg

    $ ./miniperl -wle 'for my $s qw(a b c) { print $s}'
    Use of uninitialized value $s in print at -e line 1.

    Use of uninitialized value $s in print at -e line 1.

    Use of uninitialized value $s in print at -e line 1.

So I presume we'd have to to it on a case-by-case basis.

I recall having particular problems with substr(), which in lvalue mode
meant that the target could live across multiple calls to substr().


-- 
Monto Blanco... scorchio!

Reply via email to