Для проверки контроллера
Для испытания модели
Для всех тестов
Для тестирования конкретного файла выполните
Для буквального (статические) регулярные выражения делать нечего - perl скомпилирует их только один раз.
if ($var =~ /foo|bar/) {
# ...
}
Для регулярных выражений, хранящихся в переменных, у вас есть несколько вариантов. Вы можете использовать оператор qr //
для создания объекта регулярного выражения:
my $re = qr/foo|bar/;
if ($var =~ $re) {
# ...
}
Это удобно, если вы хотите использовать регулярное выражение в нескольких местах или передать его подпрограммам.
Если шаблон регулярного выражения является в строке вы можете использовать параметр / o
, чтобы пообещать Perl, что он никогда не изменится:
my $pattern = 'foo|bar';
if ($var =~ /$pattern/o) {
# ...
}
It ' Однако обычно лучше этого не делать. Perl достаточно умен, чтобы знать, что переменная не изменилась и регулярное выражение не нужно перекомпилировать. Указание / o
, вероятно, является преждевременной микрооптимизацией. Это также потенциальная ловушка. Если переменная была изменена с помощью с помощью / o,
в любом случае заставит Perl использовать старое регулярное выражение. Это может затруднить диагностику ошибок.
Просто: проверьте оператор qr // (описанный в perlop в разделе Операторы, подобные кавычкам Regexp ).
my $regex = qr/foo\d/;
$string =~ $regex;