Малко специфичен въпрос
5 отговора
121 прегледа
Малко специфичен въпрос
Правя си една търсачка за сайта на Perl, обаче имам два съществени проблема:
1. Опцията за игнориране на регистъра на буквите i на търсения низ отчита само латинската азбука и не различава кирилицата (близко до акъла) и става много идионско, когато веднъж думата е с голяма буква, а веднъж с малка. Мислих си да извъртя цикъл, който да променя ASCII кода на символа от малка на главна буква, защото май числовата разлика между главните и малките е еднаква за всички, но ми се струва идиотско решение. Ако някой има опит с тая работа, пък било и на друг език, ще съм му благодарен да сподели.
2. Другата простотия е, че не работят опциите за търсене на низа като отделна на думата, а не като част от по-голяма дума \b, когато използвам променлива:
$smth =~ /\b$smthelse\b/;
Трудна работа
Аз тепърва започвам да се занимавам с PERL, но знам, че е адски гадно докато успееш да накараш търсачката да вдява кирилица. Изобщо, езика не харесва информация, която не е на латиница! Абе кирилицата е голям проблем, аз от 15 дена си късам нервите с подобен проблем! Правех търсачка ама не за нета, а за вицове в огромен ресурс от същите, докато накрая, си скъсах и последното нервно окончание и го зарязах!
Трудна работа
Абе, не е трудна работата и езикът си е много як, ама нямам пълното му описание. Иначе на С става без проблем и принципът трябва да е същия за Perl, ама понеже са му гъвкави променливите и им обръща типовете без да се замисли. Щото в С като задам променлива тип char и я сумирам с число, прави сума между ASCII номера на символа и стойността на числото и ми дава символа с получения ASCII номер, т.е. запазва типа на променливата.
...
char letter=a;
letter -= 32;
... и готово
Да, ама в Perl, като сумираш символ и число, символът се приравнява на число (запазва цифрите, ако я има, а другото приравнява на 0).
Само да му хвана оператора и ще го разкатая, ама сега нямам време да ровя из документацията на perl.com, пък и вече не е много актуално.
Отг: Малко специфичен въпрос
Здрасти, Тони.
абе не слушай хора, които само гледат да те откажат от правия път (като тая проклета баба, дето само дава акъли и ръси некомпетенции)
значи по - конкретно: използвай unicode функциите на perl и ще стане : прочети документацията (официалната), например ако си инсталирал перл на H: file:///H:/Perl/html/lib/Pod/perlunicode.html
също и file:///H:/Perl/html/lib/utf8.html
и накрая ето ти един работещ пример от тия странички (изпробвал съм го):
@bytes_or_chars = split //, $data; # may split to bytes if data
# $data isn't UTF-8
{
use utf8; # force char semantics
@chars = split //, $data; # splits characters
}
и не казвай че перл вече не е актуален, а се огледай из нета : всичко е перл и php
чао
абе не слушай хора, които само гледат да те откажат от правия път (като тая проклета баба, дето само дава акъли и ръси некомпетенции)
значи по - конкретно: използвай unicode функциите на perl и ще стане : прочети документацията (официалната), например ако си инсталирал перл на H: file:///H:/Perl/html/lib/Pod/perlunicode.html
също и file:///H:/Perl/html/lib/utf8.html
и накрая ето ти един работещ пример от тия странички (изпробвал съм го):
@bytes_or_chars = split //, $data; # may split to bytes if data
# $data isn't UTF-8
{
use utf8; # force char semantics
@chars = split //, $data; # splits characters
}
и не казвай че перл вече не е актуален, а се огледай из нета : всичко е перл и php
чао
Отг: Малко специфичен въпрос
Sorry za turcizmite ,no EVALAAA
znaesh li ot kolko vreme gledam kato tele otnosno
dadenia ot teb otgovor:)
Blagodarnosti
znaesh li ot kolko vreme gledam kato tele otnosno
dadenia ot teb otgovor:)
Blagodarnosti