On 3/27/06, Larry Wall <[EMAIL PROTECTED]> wrote:
> On Mon, Mar 27, 2006 at 02:54:05PM -0600, Jonathan Scott Duff wrote:
> : On Mon, Mar 27, 2006 at 10:46:02PM +0200, Yuval Kogman wrote:
> : > On Mon, Mar 27, 2006 at 14:35:52 -0600, Jonathan Scott Duff wrote:
> : > > I think that if C<temp> is the new C<local>, then immediately after the
> : > > C<temp $x> line, $x should hold whatever flavor of undef is appropriate.
> : > <snip>>
> : > > Is there some reason we're huffmannizing
> : > <snip>
> : >
> : > Because 90% of the code that people use local for in perl 5 is for
> : > counting levels and automatically unwrapping them. The other 10% are
> : > for more complex values.
> :
> : Make me believe your 90/10 numbers.
>
> Doesn't matter what the numbers are, it's the right thing to do.
> The default undef hack stems from the days when local() was trying
> to fill the role of my() as well.  Nowadays temp() should just
> mean: "Please arrange to restore yourself to your current value"
> and nothing more.  (Well, plus the notion that, when applied to a
> mutator, the save/restore instruction is passed on to the mutatee to
> save itself before the mutation, not after.)
>
> The p5-to-p6 translator will turn
>
>     local $x;
>
> into
>
>     temp undefine $x;
>
> Larry
>

In order not do do some strange magic could you jsut do:
  temp($x)++;

That seems clear and non magical to me.

Just my 2 cents! ;)

--
--
__________
Eric Hodges

Reply via email to