open IN, "<", $textfile or die "Can't open textfile: $!"; binmode IN; open IDX, ">", "$textfile.idx" or die "Can't create index file: $!"; binmode IDX; print IDX pack "N", 0; while() { print IDX, pack "N", tell IN; } #### open TEXT, "<", $textfile or die "Can't open textfile: $!"; open IDX, "<", "$textfile.idx" or die "Can't open index file: $!"; binmode IDX; seek IDX, 4*$lineno, 0; read IDX, my($buf), 4; seek TEXT, unpack("N", $buf), 0; $line = ;