Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:31 10.05.24 
Клубове/ Компютри и Интернет / Perl Всички теми Следваща тема Пълен преглед*
Информация за клуба
Тема Брой прилагания на regexp substitutuion
АвторPerl newbie (Нерегистриран) 
Публикувано17.02.05 10:01  



Здравейте,

Абсолютен новак съм с Perl, това е първата ми програма. Програмата трябва да работи върху стрингове (които са файлови имена, но това няма значение). Всеки стринг в себе си има 1 или повече точки "." . Програмата трябва да замества всички точки без най-дясната с подчертавки "_" (и след това да променя името на файла с новополученото). Решението, което измислих след ровене по мрежата, е

## begin here

opendir DH, "." or die "Cannot open the current directory!\n";

my $i;
my $num;
my $old;

while ( $old = $_ = readdir(DH) )
{
next if $_ eq "." or $_ eq "..";
$num = tr/[.]/[.]/;
next if $num <= 1;
$num --;
$i = 1;
while ( $i <= $num )
{
s/[.]/_/;
$i ++;
}
rename $old, $_ ;
}
## end here

Това работи, но не ми харесва. Вътрешният цикъл "while ( $i <= $num )" сканира от началото на стринга при всяка итерация, за да замени всяка следваща точка, и така сканира части, които вече са били прегледани. Не че има видимо забавяне, но би трябвало до може да се направи по-добре.

Въпросът ми е дали няма някакъв модификатор за брой изпълнения на субституцията, нещо като (измислям си синтаксис)
s/[.]/_/t{i}
където "t{i}" указва субституцията да се направи точно i пъти.



Цялата тема
ТемаАвторПубликувано
* Брой прилагания на regexp substitutuion Perl newbie   17.02.05 10:01
. * Re: Брой прилагания на regexp substitutuion sdg   17.02.05 16:21
. * Re: Брой прилагания на regexp substitutuion zuluz   21.02.05 00:20
. * Re: Брой прилагания на regexp substitutuion zuluz   21.02.05 00:35
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.