http://qs1969.pair.com?node_id=413497


in reply to Re: Mysterious append failure.
in thread Mysterious append failure.

Ahh.. that looks like it makes sense. Was forgetting for a minute that declaring $b there would actually scope it inside the loop.

D'oh.

--- Jay

All code is untested unless otherwise stated.
All opinions expressed are my own and are intended as guidance, not gospel; please treat what I say as such and as Abigail said Think for yourself.
If in doubt ask.

Replies are listed 'Best First'.
Re^3: Mysterious append failure.
by dave_the_m (Monsignor) on Dec 09, 2004 at 12:48 UTC
    Was forgetting for a minute that declaring $b there would actually scope it inside the loop.
    This isn't quite true - the output of Deparse is wrong. The lexical is scoped wider than the loop, as can be seen here:
    $ perl585 -le '$x=99; my $x = $_ for 1..3; print $x' $
    (Note that $::x isn't printed, the lexical $x is instead.) However, the initialising and releasing of $x is scoped to within the loop.

    That may be construed as a bug. There again, statement modifiers on my declarations are usally buggy, and are best avoided.

    Dave.