You could also check out the
shuffle method in
List::Util. List::Util, as the name implies, is basically just a handy set of subroutines for dealing with lists. Most of the routines are fairly simple and you could write your own versions, but it's nice to be able to drop a tried-and-true routine into your code and be done with it.
-- grummerX