У меня возникают некоторые проблемы с сопоставлением, когда я пытаюсь реализовать предварительно скомпилированное регулярное выражение в скрипте Perl. У меня скрипт работает без предварительной компиляции, и каждый раз, когда у меня есть экспресс, который охватывает строки, он не возвращает совпадений при предварительной компиляции. Так, например:
my $regex_partner = qr/<h1 id="PartnerName">(?<partner_name>.*?)<\/h1>/;
$content =~ $regex_partner;
$partner_name = $+{partner_name};
Отлично работает при предварительной компиляции, но:
my $regex_web =~ qr/Company Website:.*openWindow[(]'(?<website>http:\/\/.*?)'/s;
$content =~ $regex_web;
$website = $+{website};
ничего не возвращает, но работает, если я удаляю всю предварительную компиляцию. Кажется, что каждый раз, когда используется qr//s, это не сработает.
помощь?