open IN, "bigfile.txt"; open IDX, ">bigfile.idx"; binmode IDX; print IDX, pack "N", 0; while() { print IDX pack "N", tell IN; } #### 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 = ;