Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Igor Nikolaev                        2:5030/266     17 Jul 2001  03:48:55
 To : Nikolay Pichtin
 Subject : Re: Ускорить выполнение
 -------------------------------------------------------------------------------- 
 
 Nikolay Pichtin <Nikolay_Pichtin@f30.n5056.z2.fidonet.org> wrote:
 
 > Есть скрипт, который читает каталог и отбирает
 > имена файлов по расширению.
 > Можно-ли оптимизировать скрипт с целью ускорения работы?
 
 > if ( opendir (DIR, "$full_upload_dir") ) {
 >   @dirs = map {/(.+)/} sort {$a <=> $b} readdir(DIR);
 > closedir (DIR);
 > }
 >  foreach $lin(@dirs) {
 >     ($fn,$suff) = split (/\./,$lin);
 >   while ( ($first,$last) = each(%typs) ) {
 >    if ($suff eq $first){
 >     push (@files,$fn,$suff);
 >    }
 >   }
 >  }
 > В хеше %typs содержатся необходимые расширения.
 
 Кто такие 'расширения'? Какое к примеру расширение
 у файла с гордым именем '2001.07.16.log.gz'?
 
 Каким местом эти расширения содержатся в хеше?
 
 Hужно получить только список файлов по образцам?
 Только что обсуждали, если лень каталог читать,
 то встань в него (так понятнее) и используй <>.
 
 use File::Glob;
 my @ext = qw(*.ps user* *.tar *.gz *.07.* log.*);
 chdir ($ARGV[0] || '.'); my @files = < @ext >;
 
 Если не лень то снова никакой хеш не нужен:
 
 my $pat = join '|', qw(\.ps$ ^user \.tar$ \.gz$ \.07\. ^log\.);
 opendir D, ($ARGV[0] || '.') or die "Can't open $ARGV[0]\n";
 my @files = grep { /$pat/o } readdir D; close D;
 
 Hа всякий случай распечатаем чего под руку попалось:
 { local $, = ' '; local $\ = "\n"; print @files; }
 
 -- 
 Игорь Hиколаев
 
 P.S. Извини, просто интересно - где учат так 
 программы писать?
 
 --
 И
 --- ifmail v.2.12.os.sensi
  * Origin: Поиск методом пузырька (2:5030/266@fidonet)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Ускорить выполнение   Nikolay Pichtin   16 Jul 2001 10:10:29 
 Re: Ускорить выполнение   Anatoly Moskovsky   16 Jul 2001 12:15:08 
 Re: Ускорить выполнение   Konstantin Stupnik   16 Jul 2001 12:41:41 
 Re: Ускорить выполнение   Nikolay Pichtin   16 Jul 2001 21:47:09 
 Re: Ускорить выполнение   Konstantin Stupnik   17 Jul 2001 12:37:50 
 Ускорить выполнение   kan   17 Jul 2001 09:50:36 
 Re: Ускорить выполнение   HB   18 Jul 2001 12:02:22 
 Ускорить выполнение   kan   22 Jul 2001 08:55:43 
 Re: Ускорить выполнение   Igor Nikolaev   17 Jul 2001 03:48:55 
 Re: Ускорить выполнение   Nikolay Pichtin   17 Jul 2001 08:23:30 
 Re: Ускорить выполнение   Igor Nikolaev   18 Jul 2001 02:54:07 
 Re: Ускорить выполнение   Nikolay Pichtin   19 Jul 2001 00:46:33 
 Re: Ускорить выполнение   Igor Nikolaev   25 Jul 2001 03:34:58 
 Ускорить выполнение   Aleksey Kotov   17 Jul 2001 23:09:56 
 Re: Ускорить выполнение   Igor Nikolaev   18 Jul 2001 03:05:47 
Архивное /ru.perl/1341668ba8c8b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional