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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     09 Apr 2001  20:17:56
 To : Denis Balashov
 Subject : Re: подскажите, плиз, начинающему
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Denis Balashov.
 
 В твоём письме от Mon, 09 Apr 2001 18:08:52 +0400 написано:
 
 DB>     Приветствую Вас, All!
 
 DB> @farr - массив строк
 
 DB> [.........]
 DB> $f = IO::File->new("<$filename") or die "Cannot open file $filename.";
 
 while(!$f->>eof()) {
 @farr[$i++]=$f->>getline();
 
 DB>   chomp(@farr[$i-1]);
 DB> };
 DB> [.........]
 
 DB> Вот такая конструкция замечательно работает:
 DB> if(@farr[$k]=~/(.*)(\s)($server)(\spostfix\/qmgr\[\d+\]:\s)(\w+)/) {...}
 
 DB> т.е. по одной строке он ищет. А вот как сделать поиск по всему массиве?
 
 DB> if(@farr=~/(.*)(\s)($server)(\spostfix\/qmgr\[\d+\]:\s)(\w+)/m) {...}
 DB>    ^^^^^ так не работает...
 
 А что, должен?
 
 Если тебя интересует наличие требуемого в любой строке массива, то самое
 короткое (но не самое быстрое) - 
 
 if (grep /(.*)(\s)($server)(\spostfix\/qmgr\[\d+\]:\s)(\w+)/, @farr) { }
 
 Если оно может быть размазано по нескольким строкам массива, то
 
 if (join("\n",@farr) =~ /(.*)(\s)($server)(\spostfix\/qmgr\[\d+\]:\s)(\w+)/s)
 
 DB> пуковка m в конце не влияет
 
 Естественно. perldoc perlre до просветления.
 
 -- 
 Artem Chuprina                            E-mail: ran@ran.pp.ru
 Programmer                                  FIDO: 2:5020/371.32
 Memonet Ltd.                             Phone: +7-095-284-1356
 --- ifmail v.2.15dev5
  * Origin: NTV Internet (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 подскажите, плиз, начинающему   Denis Balashov   09 Apr 2001 19:08:52 
 Re: подскажите, плиз, начинающему   Artem Chuprina   09 Apr 2001 20:17:56 
 подскажите, плиз, начинающему   Denis Balashov   10 Apr 2001 09:08:41 
 Re: подскажите, плиз, начинающему   Artem Chuprina   10 Apr 2001 19:01:42 
 Re: подскажите, плиз, начинающему   Alexander Babanov   09 Apr 2001 22:07:37 
 подскажите, плиз, начинающему   Denis Balashov   10 Apr 2001 18:43:47 
 Re: подскажите, плиз, начинающему   Alexander Babanov   10 Apr 2001 13:05:41 
Архивное /ru.perl/16483f0dccc71.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional