Определить точное строковое значение скаляра в сопоставлении с регулярным выражением - PullRequest
1 голос
/ 20 марта 2011

Допустим, у меня есть $foo = "bar.baz"

Я хочу использовать скалярный $ foo, чтобы найти строки, содержащие "bar.baz" (где-либо в строке), но не версию $ foo, оцененную регулярным выражением,

Итак, строка: if( $other =~ m/$foo/ ) ... не работает, потому что $ foo оценивается так, что '.'оценивается для любого символа.Как мне это остановить?

1 Ответ

10 голосов
/ 20 марта 2011

Выберите один:

  1. $foo = quotemeta("bar.baz");
  2. if ($other =~ m/\Q$foo/)

(Оба на самом деле одно и то же, просто сделано в разное время.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...