http://qs321.pair.com?node_id=383764


in reply to (CLPM) reorder via swap

Without using swap, we have a slightly less obfuscated and (uninteresting) way...

@array = qw(put these in a different order); @order = qw(1 3 5 4 2 0); print reorder(\@array, \@order); sub reorder() { #23456789012345678901234 map${@_[0]}[$_],@{$_[1]} }

Uninteresting as it may be, it might make for a decent golf... Can this be done in fewer strokes?

What if the input were two strings on <STDIN>, separated by a line feed? We then might have something like:

#!/perl -ln0a map$F[$_],@F[@F/2..$#F]