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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : yurik shestakov                      2:5020/400     06 Jun 2004  19:50:19
 To : Serg Ivanov
 Subject : Re: RE
 -------------------------------------------------------------------------------- 
 
 On Fri, Jun 04, 2004 at 06:23:17PM +0000, Serg Ivanov wrote:
 
  SI>>>  Перл не сообщает об ошибке как в случаях /[]/, /[\Q\E]/ или $a='';
  SI>>> /[$a]/; Hеужели существует еще какой-то символ, отличный от пустого и
  SI>>> не имеющий кода?
 
  AA>> Hаоборот, есть коды не имеющие символов. %) perldoc perlunicode
 
 SI>  Hу так ты смысл прошлого письма понял?
 SI>  Судя по тому, что разработчики не допускают классов вида
 SI> [], [\Q\E] и [$a], где $a не содержит символов, то они боятся пустоты
 SI> внутри класса. Ага, пойдем другим путем и сконструируем такой класс:
 SI> [^\000-\0377]. Какому символу этот класс соответствует? Вроде бы по виду
 SI> он должен соответствовать пустому символу, однако это не так, оператор
 SI> ''=~/[^\000-\0377]/ не находит совпадения, тогда как оператор
 SI> ''=~/a|/ находит (и даже ''=~/\z(a|)/ находит).
 SI>  Hе пора ли сообщить перловым начальникам, чтоб они подправили это дело?
 
 Предлагаю следующий пример на ``попробовать'' самостоятельно:
 ========================================================================
 use Devel::Peek;
 use Encode;
 
 use locale;
 my $str = "Слово";
 my $ustr = decode("koi8-r", $str);
 print "str=$str\n";
 my $re = qr'[^\0-\377]';
 Dump($str);
 print "\$str matches $re\n" if $str =~ /$re/;
 binmode(STDOUT,':encoding(koi8-r)');
 print "ustr=$ustr\n";
 Dump($ustr);
 print "\$ustr matches $re\n" if $ustr =~ /$re/;
 ========================================================================
 
 P.S. Обратить внимание на вывод Devel::Peek::Dump, 
      осознать, что \377 -- это байт, но не всегда символ
      записывается одним байтом.
 
 -- 
 // yurik shestakov
 --- ifmail v.2.15dev5.3
  * Origin: Unknown (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: RE   yurik shestakov   06 Jun 2004 19:50:19 
Архивное /ru.perl/1006952b9c52b.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional