Предположим, у меня есть файл, содержащий строки, которые я пытаюсь сопоставить с:
foo
quux
bar
В моем коде у меня есть еще один массив:
foo
baz
quux
Скажем, мы перебираем файл, вызывая каждый элемент $word
и внутренний список, который мы проверяем, @arr
.
if( grep {$_ =~ m/^$word$/i} @arr)
Это работает правильно, но в несколько возможном случае, когда у нас есть тестовый пример fo.
в файле, .
работает как оператор подстановки в регулярном выражении, а fo.
затем соответствует foo
, что неприемлемо.
Это, конечно, потому, что Perl интерполирует переменную в регулярное выражение.
Вопрос:
Как заставить Perl принудительно использовать переменную?