On Mon, Apr 18, 2005 at 06:01:48PM -0700, Dave Whipp wrote: : The following is legal perl: : : print "$a $b $c" if ($a,$b,$c)=(1,2,3); : : This prints "1 2 3", but the definitions obviously aren't scoped to the : modified statement. And a C<my> in the modifier is a bit too late. : : Any reason to [not] add a C<where> statement modifier which restricts : the scope of the declarations?
Already used "where" for subtype constraints. : Sure its redundant, but so are all : statement modifiers. Sometimes its good to factor things out and express : them later, rather than earlier. It lets us focus on the important : things first: : : print "$a $b $c" where ($a,$b,$c)=(1,2,3); : : (in this case, we could use printf to to the factoring, but that's not a : general solution). Okay, here's a slightly more general solution: { print "$^a $^b $^c" }.(1,2,3); Larry