#!/usr/bin/perl -w use strict; open(IN, "<".$ARGV[0]); my @lines = ; close(IN); shuffle(\@lines); print $_ foreach (@lines); sub shuffle { my $array = shift; my $i = $#{$array}+1; while ($i != -1) { $i--; my $j = int rand ($i+1); next if $i==$j; @$array[$i,$j]=@$array[$j,$i]; } }