У меня есть программа Perl, которая хранит регулярные выражения в файлах конфигурации. Они в форме:
regex = ^/d+$
В другом месте регулярное выражение анализируется из файла и сохраняется в переменной - $regex
.
Затем я использую переменную при проверке регулярных выражений, например,
$lValid = ($valuetocheck =~ /$regex/);
Я хочу иметь возможность включать переменные perl в файл конфигурации, например,
regex = ^\d+$stored_regex$
Но я не могу понять, как это сделать.
Когда регулярные выражения анализируются Perl, они интерпретируются дважды.
Сначала раскрываются переменные, а затем разбирается само регулярное выражение.
Мне нужен трехэтапный процесс:
Сначала интерполируйте $regex
, затем интерполируйте содержащиеся в нем переменные и затем анализируйте полученное регулярное выражение.
Обе первые две интерполяции должны быть «осведомлены о регулярном выражении». например они должны знать, что строка содержит $
в качестве якоря и т. д. *
Есть идеи?