|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : dimka kuvshinov 2:5020/400 25 Sep 2000 04:13:43 To : All Subject : сравнение русских букв --------------------------------------------------------------------------------
Привет всем!!
$bukva=param('letter'); ввожу из формы букву
есть массив с русскими буквами, пытаюсь сравнить то, что в массиве с тем, что
из
формы:
$aaa = "\xc0 ......... \xdd";
@alfav=split //, "$aaa";
foreach ($i=0; $i<=$#alfav; $i++){
if($bukva == $alfav[$i]){
print $bukva;
}
}
пишет 33 раза значение переменной $bukva...
по идее должна, как нашла совпадение, вывести это совпадение, но не находит...
:((
пишет такую дрянь(кажется вообще просто перебирает все символы):
...
Argument "M-@" isn't numeric in eq at ./alfavit.pl line 14.
Argument "M-p" isn't numeric in eq at ./alfavit.pl line 14.
Argument "M-A" isn't numeric in eq at ./alfavit.pl line 14.
Argument "M-p" isn't numeric in eq at ./alfavit.pl line 14.
почему имнно M-(.*)?? а не P-(.*)... мнда... :(( то что я тут сравниваю как
числа фиг
с ним, откуда M-(.*) взялось?
если
use URI::Escape;
$aaa = "\xc0 ......... \xdd";
@alfav=split //, "$aaa";
$test=uri_escape($bukva, "\0-\377");
foreach ($i=0; $i<=$#alfav; $i++){
$testal=uri_escape($alfav[$i], "\0-\377");
if($test eq $testal){
print "OK!!!";
}}
тоже не работает... не понимаю, в чем трабл... :( как тогда вообще русские
буквы
сравнивать? А задача такая, есть массив со словами, нужно вывести все слова,
начинающиеся на ту букву, которую ввел юзер в форме. функция sort {$a
<=> $b} для массивов с русскими буквами не работает... написал sort при
поможи двух циклов, бред какой-то вобщем... я что-то фатально не понял...
символы в URI вообще можно сравнивать???
Спасибо!!!
Дима
--
Отправлено через сервер Talk.Ru - http://www.talk.ru
--- ifmail v.2.15dev5
* Origin: Talk.ru (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/64883330db0b.html, оценка из 5, голосов 10
|