| imho.ws |
![]() |
|
|
|
# 1 |
|
::VIP::
Регистрация: 06.03.2003
Адрес: DZ, LBP, Moscow
Пол: Male
Сообщения: 633
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Perl: каталог, регулярное выражение
У меня два вопроса по Perl, на которые я никак не найду ответа:
1. Как переименовать каталог. Я нашел только функции создания и стирания. 2. Как мне использовать переменную в регулярном выражении. То есть мне в сроковой переменной нужно найти/заменить конкретную подстроку, которая храниться в переменной, значение которой формируется в процессе выполнения скрипта. Как мне в таком случае использовать ~s ?
__________________
Меня многие спрашивают, как я живу с тремя головами... На самом деле, я триедин, как Великие Бобы! |
|
|
|
|
# 2 |
|
Newbie
Регистрация: 11.04.2003
Адрес: Мытищи
Сообщения: 26
![]() |
1. rename($dir1,$dir2) и всё.
![]() 2. Мне на вскидку пришло 2 варианта не знаю какой лучше(всё таки 3 часа ночи башка не варит ) первый строка=~s/переменная-шаблон/переменная-замены/g ну может ещё какие нужно опции типа i и т.д. А вторая это использовать массив=split(переменная-шаблон,строка) + строка=join(переменная-замены,массив) выбирай что больше нравится.
|
|
|
|
|
# 3 | |
|
Добряк Модератор
ГлавБюстАтценка АН ИМХО.ВС Регистрация: 14.10.2002
Адрес: Старый оценщик, НИИ ГлавБюстАтценка АН ИМХО.ВС
Пол: Male
Сообщения: 4 010
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Пример 1 Код:
$match_str = '1';
$replace_str='bb';
for $name (@files) {
$name =~ s/${match_str}/${replace_str}/g;
$match_str++;
}
Код:
$match_str='aa';
$replace_str='bb';
for $name (@files) {
$name =~ s/${match_str}/${replace_str}/og; # Заменяет всегда aa
$match_str='zz';
}
__________________
Лень - это когда видишь необходимость что-то делать, но не хочется, а влом - это когда что-то хочется, но не видишь необходимости это делать. |
|
|
|
|
|
# 4 |
|
Member
Регистрация: 16.07.2003
Адрес: Курорты Краснодарского края
Сообщения: 279
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Что-бы не делать новую тему, задам свой вопросик здесь, если вы не против
![]() Задача следующая - надо разбить строку типа Код:
ftp://login:pass@host.com Заранее благодарен. Последний раз редактировалось n0n; 10.08.2004 в 01:41. |
|
|