Then , if you want to modify an existing data structure, what about using the fact that modifying $_ will modify the original array? Something like this, shown under the debugger:
DB<1> @a = 1..9;
DB<2> map{ $_ = ++$_% 10 } @a;
DB<3> x @a
0 2
1 3
2 4
3 5
4 6
5 7
6 8
7 9
8 0
DB<4>
Well, this obviously works, but something like $c = ++$c is, I believe, not defined in C and probably also not in Perl (i.e. the implementor if free to do whatever). It could be changed to:
map { $_ ++; $_ = $_ % 10} @a;
This would probably be more secure against any change of implementation.