Как лучше всего очистить/сбросить все переменные, соответствующие регулярному выражению ?
Пример того, как $1
не сбрасывается между операциями регулярных выражений и использует самое последнее совпадение:
$_="это человек, из-за которого наступил новый год";
/ (является) /;
/ (нет) /;
скажем 1 доллар; # выводит "есть"
Пример того, как это может быть проблематично при работе с циклами:
foreach (...){
/($некоторое_значение)/;
&doSomething($1), если $1;
}
Обновление:Я не думал, что мне нужно это делать, но Пример-2 — это только пример. Этот вопрос касается сброса соответствующих переменных, а не лучшего способа их реализации.
Как бы то ни было, изначально мой стиль кодирования был более последовательным, с явным описанием и использованием блоков if. Вернувшись к этому (Пример 2) сейчас, он стал намного более кратким при чтении многих строк кода, я бы нашел этот синтаксис более быстрым для понимания.