Один из подходов может состоять в том, чтобы иметь процесс perl, который регулярно (скажем, каждые 5 секунд, каждые 5 минут или каждые 5 часов, ваш звонок действительно) сканирует указанную директорию и, как только появляется любой новый текстовый файл, порождает дочерний процесс, которыйобработайте его.
Дочерний процесс может быть другим сценарием perl, который получает имя текстового файла в качестве аргумента и читает файл, обнаруживает упомянутое вами слово и затем извлекает интересующую вас информацию (изатем делает все, что вы считаете нужным с этой информацией).
Что нужно искать, так это то, что делать с текстовыми файлами после их обработки.Они должны остаться?Затем вам нужно отследить, какие из них вы обработали, чтобы они не обрабатывались снова в случае, если ваш главный процесс (тот, который сканирует каталог и порождает дочерние Perl) должен быть перезапущен (из-за сбоя или преднамеренного перезапуска).
Если текстовые файлы должны исчезнуть после обработки, я полагаю, что было бы неплохо либо позволить детям удалить их после завершения, либопусть главный процесс удалит их при условии, что главный процесс всегда ожидает завершения дочерних процессов, прежде чем он продолжит работу.Недостаток основного процесса, ожидающего завершения дочерних процессов, заключается в том, что дочерние процессы не могут быть запущены параллельно, а должны выполняться в строгой последовательности (недостаток не требуется в зависимости от вашей ситуации).
(Если у вас естьмастер-процесс всегда ожидает запуска дочернего процесса, вы можете вообще пропустить наличие дочерних процессов и создать подпрограмму в главной программе, которая читает и обрабатывает текстовый файл).
описание высокого уровня, но надеюсь, что оно поможет.