in reply to Array Shuffle

see Algorithm::Combinatorics::derangements(\@data)

"The derangements of @data are those reorderings that have no element in its original place. In jargon those are the permutations of @data with no fixed points."