Въпрос за CGI

2 отговора 11 прегледа
#1

Въпрос за CGI

Правя си една търсачка за сайта на Perl, обаче имам два съществени проблема: 1. Опцията за игнориране на регистъра на буквите i на търсения низ отчита само латинската азбука и не различава кирилицата (близко до акъла) и става много идионско, когато веднъж думата е с голяма буква, а веднъж с малка. Мислих си да извъртя цикъл, който да променя ASCII кода на символа от малка на главна буква, защото май числовата разлика между главните и малките е еднаква за всички, но ми се струва идиотско решение. Ако някой има опит с тая работа, пък било и на друг език, ще съм му благодарен да сподели. 2. Другата простотия е, че не работят опциите за търсене на низа като отделна на думата, а не като част от по-голяма дума \b, когато използвам променлива: $smth =~ /\b$smthelse\b/;
Отговор
в отговор на Toni #2

Въпрос за CGI

За съжаление не мога да ти помогна, но въпростът ти ми харесва. Сега ми хрумна, че може да диференцираме двата клуба "Информатика" и "Програмисти", сами се сещате как :)
Отговор
в отговор на Toni #3

Въпрос за CGI

Taka shte priema che Perl-a raboti pod Linux.. vyprosa e malko po-obshiren. Za da raboti Perl s kirilicata kakto s latinica trqbva da imash pravilno definiran locale. Locale-a informaciqta nuzhna na dadena OS da razlichava malki/glavni bukvi, daden simvol bukva li e i t.n. Predpolagam izpolzvash cp1251 za kirilicata (hmm.. ne sym syglasen s tova ama tva e druga tema), za da si definirash locale trqbva da napishesh tova kato root: localedef -f CP1251 -i ru_RU bg_BG.CP1251 ru_RU v sluchaq vyrshi rabota ponezhe na tebe ti trqbva samo korektna obrabotka na kirilica (inache ako te interesuva moga da ti pratq locale definition file bg_BG kojto mozhesh da polzvash i za drugi bylgarizatorski celi) sled tova v perl programa pishesh slednoto: use POSIX; use locale; setlocale(LC_CTYPE, "bg_BG.CP1251"); ... Ot tuk natatyk vsichki funkcii/operatori na perl shte uvazhavat kirilicata uspeh :)
Отговор