#!/usr/bin/perl -w use Getopt::Std; our %opts; getopts('fd:', \%opts); if ($opts{f}) { $/ = "\n%\n"; } if ($opts{d}) { $/ = $opts{d}; } sub fisher_yates_shuffle { my $array = shift; my $i = @$array; while ($i--) { my $j = int rand ($i+1); next if $i == $j; @$array[$i,$j] = @$array[$j,$i]; } } @lines = <>; fisher_yates_shuffle(\@lines); print @lines;