#!/usr/bin/perl # read a list in one end and spit a randomized version out the other while($line = ) { chomp($line); push @lines, $line; } @lines = shuffle(\@lines); # modified from 'Perl Cookbook' page 121 sub shuffle { my $array = shift; my $i = scalar(@$array); my $j; foreach $item (@$array ) { --$i; $j = int rand ($i+1); next if $i == $j; @$array [$i,$j] = @$array[$j,$i]; } return @$array; } foreach $line (@lines) { print "$line\n"; }