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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Konstantin Stupnik                   2:5020/400     29 Oct 2004  09:27:08
 To : All
 Subject : проблемка (perl bug?)
 -------------------------------------------------------------------------------- 
 
 Hello, All!
 
 Что-то я уже устал я уже бороться.
 Может у кого мысли умные возникнут.
 
 Есть regexp получаемый таким образом:
 if($line=~/([^:]+):(.*)$/)
 {
   push @array,{prefix=>$1,rx=>qr($2)};
 }
 
 Есть строка, получаемая из File::CSV_XS (Text-CSV_XS-0.23).
 Пусть будет $str;
 
 Всё это в дебрях весьма большого скрипта,
 который я к сожалению привести не могу.
 
 Так вот, почему-то позднее условие:
 if($str=~$item->{rx})
 {
 }
 
 не срабатывает для пустого regexp-а.
 более того, если написать так:
 if($str=~//)
 {
 }
 то тоже не срабатывает :-\
 use re 'debug';
 говорит, что вообще никакой попытки матчинга не было.
 
 Hо! Если тупо сделать copy&paste проблемного куска
 в другой файл и забить в точности
 такие же данные, то всё ок, всё работает.
 
 Пробовал на active state perl 5.8.0 (806),
 и 5.8.0 же, но на солярке.
 Одинаково. Версию перла поменять не могу.
 Может есть идеи как это победить?
 
 Замена пустого regexp на .* помогает,
 но хочется что б пустой тоже работал.
 
 Понятно, что в качестве workaround можно
 менять на этапе загрузки пустой на .*, но
 как-то ... неправильно :)
 
 -- 
 Best regards,
       Konstantin.
 Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
 --- ifmail v.2.15dev5.3
  * Origin: Talk.Mail.Ru (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 проблемка (perl bug?)   Konstantin Stupnik   29 Oct 2004 09:27:08 
 Re: проблемка (perl bug?)   Orlovsky Alexander   29 Oct 2004 12:07:00 
 Re: проблемка (perl bug?)   Konstantin Stupnik   29 Oct 2004 12:17:29 
Архивное /ru.perl/64887e2c28b8.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional