K
kerry
есть текстовый файл с набором перловских регулярных выражений, написан в таком виде:
regexp1
regexp2
...
regexpN
я могу построчно прочитать файл, сохраняя строку в переменную, но не знаю, как заставить перл относиться к полученной переменной как к шаблону. При каждом использовании программы задаются новые шаблоны, поэтому чтобы не трогать код, эти шаблоны было решено выложить в отдельный файл.
вот что есть на текущий момент:
...
здесь из файла берется строчка, оператором rx, про который я прочитал вот здесь
превращается в выражение и далее идет попытка поиска.
вопрос в следующем: как скормить программе этот файл, чтобы она построчно считывала выражения и в соответствии с ними искала строку? может есть альтернативные решения, как не трогать основной код программы?
regexp1
regexp2
...
regexpN
я могу построчно прочитать файл, сохраняя строку в переменную, но не знаю, как заставить перл относиться к полученной переменной как к шаблону. При каждом использовании программы задаются новые шаблоны, поэтому чтобы не трогать код, эти шаблоны было решено выложить в отдельный файл.
вот что есть на текущий момент:
...
Код:
open RULEZZZ, '<rules.sh>';
@rules=<RULEZZZ>;
open SENTENCE, '>SENTENCES.txt';
foreach $arg (@rules)
{
$regexp = rx /$arg/; # на эту строчку интерпретатор ругается.
if ($str=~ /(<$regexp>)/)
{
printf SENTENCE $str;
}
}
print "DONE!";
close;
здесь из файла берется строчка, оператором rx, про который я прочитал вот здесь
Ссылка скрыта от гостей
превращается в выражение и далее идет попытка поиска.
вопрос в следующем: как скормить программе этот файл, чтобы она построчно считывала выражения и в соответствии с ними искала строку? может есть альтернативные решения, как не трогать основной код программы?