Оператор s///
в Perl является операцией подстановки , которая выполняет поиск и замену строки, используя специальный тип шаблона, называемый регулярным выражением .Вы можете прочитать больше о регулярных выражениях и сопоставлении с образцом Perl на страницах руководства, которые поставляются с Perl:
Если у вас их нет в вашей системе, попробуйте поискать их в Google.
Применение подстановки к переменной выполняется с помощью оператора =~
,Таким образом, следующее заменяет все вхождения 'foo' в переменной $var
на 'bar'.
$var =~ s/foo/bar/;
Все операторы Perl описаны на странице руководства perlop.
Несмотря на то, что наиболее распространенный символ-разделитель - это косая черта (отсюда s ///), вы также можете использовать любой другой знак пунктуации в качестве разделителя.Поэтому в данном случае автор решил использовать тире (-
) в качестве разделителя.
Вот та же строка кода, приведенная выше с использованием тире в качестве разделителя:
$var =~ s-foo-bar-;
В вашем случае, тире, похоже, не добавляет ясности к коду, поэтому лучше обновить его, чтобы вместо него использовать обычные слэши.