Hi, this is just an Idea and maybe it is the worst idea for what you want. But I 'll go for it :-)
What I would do-- I have an Index(sorted) Then the main file with the 20,000 records would be a DBM just a tied or dynamic or a hashed text. using the module SDBM_File, POSIX modules And the index would be the address or Key of the record in a main file. like in the index sorted by integers you would have YOUR INTEGER | ADDRESS or key where Address would be the row in the main file. when you create the 'tied' file, you can have a counter. foreach $line(@data){ $c++; ($int, $othervalue)=split(/\|/,$line); $dbm{$c}= $line; push @tobegotoindex, "$int|$c\n"; } just an idea. That is what I used to do with Visual Basic. awards -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]