my $lineno = 10000; open IN, "bigfile.txt"; open IDX, "bigfile.idx"; binmode IDX; seek IDX, 4 * $lineno, 0; sysread IDX, (my $buffer), 4; seek IN, unpack("N", $buffer), 0; my $line = ;