|
|
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
|