index (строка, образец} Поиск позиции образца в строке
rindex (строка, образец} Поиск последней позиции образца в строке
В следующем примере массиву присваивается список из пяти нулей, который создается оператором х.
@аrrау = (0) х 5;
Сопоставление с образцом. С помощью средств языка Perl можно производить поиск в строке по образцу. Искомый образец заключается в символы косой черты. Например, чтобы задать поиск слова Dickens, необходимо ввести /Dickens/. По умолчанию поиск выполняется в содержимом специальной переменной $_. Эта переменная обычно содержит последнюю из прочитанных входных строк, независимо от ее источника. Если последней была введена команда <STDIN>, содержимым $_ будет строка, прочитанная со стандартного ввода. Именно в ней будет выполняться дальнейший поиск. В следующем примере осуществляется чтение строки со стандартного ввода, после чего в ней производится поиск по образцу /Dickens/:
$_ = <STDIN>; /Dickens/;
Поиск по образцу задается с помощью оператора =~. Левым операндом в данном случае является имя переменной, а правым — образец. В табл. 8 дан обзор операторов поиска и опций сопоставления с образцом. Ниже показано, как задать поиск по образцу /Christmas/ в переменной $title.
$title =~ /Christmas/;
Язык Perl поддерживает полный набор регулярных выражений, используемых в процессе поиска по образцу. Символы *,+,?,{}, .. ^. $ и [] можно применять для задания многовариантного поиска. Существует набор символов, с помощью которых в регулярных выражениях можно сокращенно обозначать часто используемые шаблоны. Например, \w соответствует любой букве или цифре и является эквивалентом регулярного выражения [A-Za-z0-9]+. Символ \d служит для обозначения цифр, a \s — пробела. С помощью символа \b задают поиск слова, совпадающего с образцом. В ряде случаев ввод специального символа в верхнем регистре придает ему противоположный смысл. Так, \w означает все, кроме букв и цифр, а \о — все, кроме цифр. Специальные символы, которые употребляются в регулярных выражениях языка Perl, перечислены в табл. 9.
Таблица 8.Операторы и опции задания шаблонов ОператорыОписание
var =~ /регулярное-выражение/ Поиск экземпляра выражения в строковой переменной
var ! ~ /регулярное-выражение/ Позволяет удостовериться в том, что выражение не встречается в строковой переменной
/регулярное-выражение/ Сравнение с образцом с помощью регулярного выражения
Опции Описание
i Сопоставление с образцом без учета регистра
m Рассматривать строковое значение как несколько строк