in reply to Why the change to read-only lists in 5.6.x?

The change has occurred because qw() no longer becomes split ' ', q() at compile-time. The reason for that was because qw() in scalar context was splitting to @_ and returning the number of elements (which is probably less than good). So now, qw() is turned into a physical list at compile-time. That means your code is:
foreach my $value (('a', 'b', 'c')) { $value .= '1'; print "$value\n"; }
So you're trying to modify constants. Note, also, that now you can directly subscript a qw(), or use it in a for statement without surrounding parentheses:
$vowel = qw( a e i o u )[ rand 5 ]; for qw( a e i o u ) { # ... }
Weird looking, eh?

_____________________________________________________
Jeff[japhy]Pinyan: Perl, regex, and perl hacker.
s++=END;++y(;-P)}y js++=;shajsj<++y(p-q)}?print:??;