http://www.perlmonks.org?node_id=27279

tenfourty has asked for the wisdom of the Perl Monks concerning the following question:

Hi All you guru's out there,

I am looking for a very efficient sorting algorithm as I am writting a program to search through a list of files and find any occurences of a list of keywords.

At the moment the algorithm I am using is:

read in all the keywords from a file into an array get a listing of all the files I want to search into an array, for each file { for each keyword { foreach line { check if the keyword is in the line if the keyword is found then log it } } }

I can post my source up here if you want but i didn't want to take up extra space.

This algorithm works fine for a small file list, but it can take ages when searching through several thousand files.

Is there any faster or more advanced way of doing this search out there, maybe a module or something that will do this for me? I have searched but haven't come across anything yet.