#!/usr/bin/perl my @lines; while(<>) { my $idx = rand()*$.; if ($.<$idx) { push @lines, $_; } else { push @lines, $lines[$idx]; $lines[$idx] = $_; } } print @lines;