http://www.perlmonks.org?node_id=872972


in reply to Re: Perl v5.13.7 is released
in thread Perl v5.13.7 is released

I don't like that change. It adds more to the syntax confusion than it takes away. If I'm pushing values into an array, I expect the argument to be some kind of array. It feels natural in Perl. All those sigil-mangling changes (and I'd like to include Perl6's sigil immutability here) stray from that (relatively simple) direction.

Automatic dereferencing syntax (meaning: s/@$/@/ or s/@{$ref}/@ref/) would be more useful. For example:

|----------------------------+---------------------------|
| Traditional syntax         | Auto syntax               |
|----------------------------+---------------------------|
| push @$arrayref, @stuff    | push @arrayref, @stuff    |
| unshift @$arrayref, @stuff | unshift @arrayref, @stuff |
| pop @$arrayref             | pop @arrayref             |
| shift @$arrayref           | shift @arrayref           |
| splice @$arrayref, 0, 2    | splice @arrayref, 0, 2    |
| keys %$hashref             | keys @hashref             |
| keys @$arrayref            | keys @arrayref            |
| values %$hashref           | values @hashref           |
| values @$arrayref          | values @arrayref          |
| ($k,$v) = each %$hashref   | ($k,$v) = each @hashref   |
| ($k,$v) = each @$arrayref  | ($k,$v) = each @arrayref  |
|----------------------------+---------------------------|
I was following the p5p discussion about these changes, but I kept silent, so it's probably too late for this kind of rant now :)