>>753
したい事がよく分からんがこういう事?

my @value = qw(blue green indigo orange red vioret yellow);
my @order = (2, 3, 1, 5, 6, 0, 4);
print join ', ', @value[ sort { $order[$a] <=> $order[$b] } 0..$#value ];