use strict; my $usage = "$0 number\n"; my $num = shift or die $usage; my @buf = (); my $line; while ($line = <>) { chomp($line); if (($line =~ /^\#/) or ($line =~ /^\s*$/)) { print "$line\n"; next; } push(@buf, $line); my $bufsz = scalar(@buf); if ($num == $bufsz) { my $i = rand($bufsz); print "$buf[$i]\n"; @buf = (); } } my $bufsz = scalar(@buf); if ($num == $bufsz) { my $i = rand($bufsz); print $buf[$i]; @buf = (); }