perl -e "my @toshuffle = qw (a b c d e f g h);$rand{$_}=1 for @toshuffle;print keys %rand;" ##OR in a sub-way sub shuffle_array{ my @ar = @_; my %rand; $rand{$_} = undef for @ar; my @ret = keys %rand; return @ret; }