in reply to reordering lists

You can use an array slice to change the location of an item:

$ perl -le ' $, = ", "; @a = (0 .. 20); print @a; @a[2,1] = @a[1,2]; # Magic line print @a;' 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +20 0, 2, 1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +2

For more complex things, you might need splice.

----
I wanted to explore how Perl's closures can be manipulated, and ended up creating an object system by accident.
-- Schemer

: () { :|:& };:

Note: All code is untested, unless otherwise stated