imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 23.07.2004, 21:47     # 1
Goryn
::VIP::
 
Аватар для Goryn
 
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633

Goryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собойGoryn Имеются все основания чтобы гордиться собой
Perl: каталог, регулярное выражение

У меня два вопроса по Perl, на которые я никак не найду ответа:

1. Как переименовать каталог. Я нашел только функции создания и стирания.

2. Как мне использовать переменную в регулярном выражении. То есть мне в сроковой переменной нужно найти/заменить конкретную подстроку, которая храниться в переменной, значение которой формируется в процессе выполнения скрипта. Как мне в таком случае использовать ~s ?
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы!
Goryn вне форума  
Старый 24.07.2004, 03:50     # 2
Sava
Newbie
 
Регистрация: 11.04.2003
Адрес: Мытищи
Сообщения: 26

Sava Мелкий засранец
1. rename($dir1,$dir2) и всё.
2. Мне на вскидку пришло 2 варианта не знаю какой лучше(всё таки 3 часа ночи башка не варит ) первый строка=~s/переменная-шаблон/переменная-замены/g ну может ещё какие нужно опции типа i и т.д. А вторая это использовать массив=split(переменная-шаблон,строка) + строка=join(переменная-замены,массив) выбирай что больше нравится.
Sava вне форума  
Старый 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 вне форума  
Старый 10.08.2004, 01:39     # 4
n0n
Member
 
Аватар для n0n
 
Регистрация: 16.07.2003
Адрес: Курорты Краснодарского края
Сообщения: 279

n0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форумеn0n Популярный человек на этом форуме
Что-бы не делать новую тему, задам свой вопросик здесь, если вы не против

Задача следующая - надо разбить строку типа
Код:
ftp://login:pass@host.com
соответственно на $login, $pass и $host, проблема заключается лишь в том что в pass - может содержаться символ "@" , а может и не содержаться. Вот как это учесть? Не могу придумать...

Заранее благодарен.

Последний раз редактировалось n0n; 10.08.2004 в 01:41.
n0n вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 07:40.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.