in reply to Displaying a Large File

It might help if we knew a little more about how these three files are created, used, etc. Are these static files created from some other source? Maybe two being static and third appended to. Do you perform any type of updates on these files? Can you change the I/O routines that generate the files? The answers to these questions are are important when trying to tackle this type of problem.

If the files are static, read them in once store them in a hash or array, then write them out to a new file using Storable::nstore or something similar. Reading them back in using Storable::retrieve is very fast. If you would like I could post some simple examples.

If the files are dynamic, you might want to look into a full blown RDBMS as count0 suggests.

@a=split??,'just lose the ego and get involved!';
for(split??,'afqtw{|~'){print $a[ord($_)-97]}