my $record_length=200; # set the record length open my $fh,'<',$filename or die $!; # open handle my $size = -s $fh; # get the file size my $records=$size/$record_length; # workout the number of records seek $fh, rand($records)*$record_length, 0;# move to a random record my $randomline = <$fh>; # read that record close $fh; # Close handle