|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Ilgiz Kalmetev 2:5011/36.6 06 Sep 2000 16:03:53 To : All Subject : eval "tr..." не работает -------------------------------------------------------------------------------- All, объясни мне, пожалуйста, почему программа: === cut === #!/usr/bin/perl -w # Хочется перевести заглавные буквы в строчный регистр (для koi8-r) use strict; use integer; # $s - это 66 букв - 33 строчных и 33 заглавных - в кодировке koi8-r my $s="\301\302\327\307\304\305\243\326\332\311\312\313\314\315\316\317\320\322\323 \324\325\306\310\303\336\333\335\337\331\330\334\300\321\341\342\367\347\344\345 \263\366\372\351\352\353\354\355\356\357\360\362\363\364\365\346\350\343\376\373 \375\377\371\370\374\340\361"; my $lc=substr( $s, 0, length($s)/2 ); my $uc=substr( $s, length($s)/2, length($s)/2 ); my $text = "ЙЦУКЕHГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ"; print STDERR "start uc to lc\n"; eval "$text =~ tr/$uc/$lc/"; die $@ if $@; print STDERR "stop uc to lc\n"; print $text,"\n"; === cut === вылетает по die с сообщением: Unrecognized character \352 at (eval 1) line 1. на первой же заглавной букве? Hе могу понять, где грабли. -- Ilgiz Kalmetev --- Slrn (Linux) * Origin: GoodPlace (2:5011/36.6@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/14697edcbd85b.html, оценка из 5, голосов 10
|