in reply to search a large text file

You can preprocess it using, for instance, DB_File module. See DB_HASH chapter of
http://perldoc.perl.org/DB_File.html#A-Simple-Example
-> you can have huge hash which is stored in the file but it behaves relatively transparently in Perl code, like as normal hash.

Or you can use one table in some SQL database, having just two columns, 'key' and 'val', with index on 'key'.