Показать сообщение отдельно
Старый 24.07.2004, 11:12     # 3
rontommy
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС
 
Аватар для rontommy
 
Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010

rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
rontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербогrontommy Гипербог
Цитата:
Goryn:
Как мне использовать переменную в регулярном выражении.
Также как и постоянную строку, есть только одна деталь. Если значение переменной формируется многократно, то никаких дополнительных опций не надо (Пример 1). Если же только один раз, есть опция 'o', по которой реализация значения переменной происходит только первый раз (Only compile pattern once) а далее всегда используется это значение, вне зависимости от значения переменной на момент вызова подстановки строк (Пример 2).

Пример 1
Код:
$match_str = '1';
$replace_str='bb';
for $name (@files) {
  $name =~ s/${match_str}/${replace_str}/g;
  $match_str++;
}
Пример 2
Код:
$match_str='aa';
$replace_str='bb';
for $name (@files) {
  $name =~ s/${match_str}/${replace_str}/og; # Заменяет всегда aa
  $match_str='zz';
}
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать.
rontommy вне форума