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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Paul Kulchenko                       2:5020/400     08 Sep 2000  00:24:02
 To : All
 Subject : Re: eval "tr..." не работает
 -------------------------------------------------------------------------------- 
 
 Hi, Ilgiz!
 
 Ilgiz Kalmetev wrote:
 
 >     Перекодировщик в целом нормально работает. Кроме вот этого самого места -
 >     upper case -> lower case. Причем, если в tr подставлять константы, вот
 >     так:
 > 
 > if    ($charset eq "koi") { $text =~ tr/\xB3\xE0-\xFF/\xA3\xC0-\xDF/; }
 > elsif ($charset eq "win") { $text =~ tr/\xA8\xC0-\xDF/\xB8\xE0-\xFF/; }
 > elsif ($charset eq "alt") { $text =~ tr/\xF0\x80-\x9F/\xF1\xA0-\xAF\xE0-\xEF/;
 > }
 > elsif ($charset eq "mac") { $text =~ tr/\335\200-\237/\336\340-\377/; }
 > elsif ($charset eq "iso") { $text =~ tr/\241\260-\317/\361\320-\357/; }
 > else { die "getCharsetScore: dont know charset $charset\n"  }
 > 
 >     то все работает, а вот с переменными почему-то затык.
 > 
 >     Хочется с этим разобраться, потому что вышеприведенный кусок некрасив,
 >     и, что более существенно, если от него избавиться, то для добавления-
 >     удаления кодировки в тексте программы надо будет править только одно
 > место.
 
 так поставь '\' перед $text в своем eval и наслаждайся.
 eval "\$text =~ tr/$from/$to/";
 
 Best wishes, Paul.
 --- ifmail v.2.15dev5
  * Origin: Trans World Airlines (TWA) (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: eval "tr..." не работает   Paul Kulchenko   08 Sep 2000 00:24:02 
Архивное /ru.perl/3555c1298c54.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional