On Tue, 11 Feb 2003, Michael Lazzaro wrote:
> What is the utility of the perl5 behavior:
>
>      \($a,$b,$c)
>
> meaning
>
>      (\$a, \$b, \$c)
>
> Do people really do that? ...  Can someone give an example of an actual,
> proper, use?

Yes, I've used it like this:

   for (\($a,$b,$c)) {
      $$_++;
   }

to be sure that it works on all versions, since

   for ($a,$b,$c) {
      $_++;
   }

works differently on different versions.  (Actually, I don't have an
old-enough version on hand to check just when that was, so it must have been
5.004 or before.)

This change didn't start to bite me until P5.6.0, when "values %HASH" became
an Lvalue too, whereupon

   for ( values %HASH ) {
      s/^prefix//;
      ...
   }
   ... do something else with %HASH

stopped working.

So, I would urge making as many things as possible Lvalues (and magical
references) right from the start of P6, just so as we don't break things by
making them so later.

-Martin

-- 
Help Microsoft stamp out software piracy: give Linux to a friend today...


Reply via email to