Въпрос за CGI
2 отговора
11 прегледа
Въпрос за CGI
Правя си една търсачка за сайта на Perl, обаче имам два съществени проблема:
1. Опцията за игнориране на регистъра на буквите i на търсения низ отчита само латинската азбука и не различава кирилицата (близко до акъла) и става много идионско, когато веднъж думата е с голяма буква, а веднъж с малка. Мислих си да извъртя цикъл, който да променя ASCII кода на символа от малка на главна буква, защото май числовата разлика между главните и малките е еднаква за всички, но ми се струва идиотско решение. Ако някой има опит с тая работа, пък било и на друг език, ще съм му благодарен да сподели.
2. Другата простотия е, че не работят опциите за търсене на низа като отделна на думата, а не като част от по-голяма дума \b, когато използвам променлива:
$smth =~ /\b$smthelse\b/;
Въпрос за CGI
За съжаление не мога да ти помогна, но въпростът ти ми харесва.
Сега ми хрумна, че може да диференцираме двата клуба "Информатика" и "Програмисти", сами се сещате как :)
Въпрос за 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 :)