This just isn't making sense.
Currently one has to write
my( $x, $y, $z ) = @_;
And you're willing to eviscerate perl to save two keystrokes;
you say you'd be happy with either
my $x, $y, $z = @_;
or
( $x, $y, $z ) = @_;
but the (consequent) fact that
$x, $y, $z = @_;
could not possibly be unbroken (wrt DWIM) doesn't faze you. !!!
Branden wrote:
> Changing `,' and `=' has too much side effects to be considered.
And because they're all bound up together, changing 'my' is also
beyond consideration.
> 1. `my' becomes more consistent with other Perl thingys
> that get lists as arguments, as Perl functions, for
> example.
'my' is a declarative operator whose effects are distributive.
That's useful. Let's not break it.
> Well, the workaround is so simple, just put parenthesis around.
As someone has already said, you seem to be willing to make
an arbitrary change that just shifts around where parens are
needed, for no real gain. All else being equal, perl
should not be changed.
> Only what will break is the using of my in the middle of the
> arglist of a function, basically.
That's a gross oversimplification; anywhere you can put a
variable, you can declare it with 'my' (except, of course,
in string interpolations).
> And that's easily translatable by putting parenthesis
> around `my's variables, what also increases readability.
If you're willing to require additional parens from other
programmers, you should be wiling to bear the burden of
putting them in, yourself.
--
John Porter