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


in reply to RE (tilly) 1 (possibilities): interchanging variables the tough way
in thread interchanging variables the tough way

Looking at this bugs me.

Manipulating your input arguments this way works, but the side-effects can surprise and amaze. I would not do this lightly.

My overall feeling is that if you feel the need to rotate your data, you should have an array rather than a list of variables. Then you could

push @array, shift @array;
much faster, without resorting to nasty side-effects.

Generally when I see myself wanting to resort to "bad" techniques like side-effects, I take that as a danger sign and go looking for a more fundamental mistake in my code...