Новая рублика «Вопрос-ответ» для Perl-программистов
Новая рублика «Вопрос-ответ» на блоге dev-lab.info. Теперь вы можете задать любые вопросы по теме perl-программирования.
Привет всем начинающим perl-программистам!
Несколько недель назад одна чудесная perl-девушка предложила открыть на блоге раздел «Вопрос-ответ». Я пообещала, что открою. Идея, в самом деле, замечательная.
Объявление
Если вы — начинающий perl-программист, и у вас есть какие-то вопросы, вы можете их задать. Для этого, изложите вашу проблему в комментариях к этой статье. Я сделаю все возможное, чтобы вам помочь. Если я не могу ответить — я напишу об этом. Если проблема простая, вы получите ответ тут же, в комментариях. Если решение вопроса достаточно объемное — ответ будет дан в отдельной статье на этом блоге.
Не обещаю отвечать быстро. Работа, офис — сами понимаете :) Если есть очень срочные вопросы, лучше посетите CyberForum.
Обещаю, что на данном блоге вы не встретите хамства и грубости, ни с моей стороны, ни со стороны других комментаторов. Не важно, насколько прост или сложен ваш вопрос. Perl-программисты вообще очень культурные и вежливые люди :)
Поделись ссылкой с друзьями!
Комментарии (3)
Other Links to this Post
RSS-лента комментариев к этой записи.
By Леонид, 21.03.2013 @ 10:43 дп
Добрый день!
У меня два вопроса, может быть что-то подскажите.
Есть самописная Интранет-система (perl + MySql)
1. Хранение телефонного номера.
Есть одна таблица с деревом разделов — База знаний, которая заполняется сотрудниками через html-редактор (wyciwyg). Написание текстов ведется в произвольной форме, при этом часто надо хранить телефонные номера внутри текста. Каждый сотрудник может написать телефонный номер по своему (11 цифр, без пробелов, через дефисы, со скобками и т.д.)
Из-за этого обычный поиск LIKE ‘%phone%’ часто ничего не находит, так как нет соответствия поискового запроса, с тем что хранится в БД.
Как хранить телефонные номера в тексте, чтобы они всегда находились через поиск?
2.Поскажите, пожалуйста, как организовать морфологический текстовый поиск по базе MySql.
Спасибо
By Владимир, 08.01.2014 @ 10:30 дп
Знаю, Вы постоянно используете перл…
И вот колупал я тут регулярные выражения и наколупал, что в php они могут содержать рекурсию: http://ru2.php.net/manual/ru/regexp.reference.recursive.php
Но я думал, что реализуются они конечным автоматом без магазинной памяти (не может там быть никакой рекурсии, т.к. количество состояний не меняется). Поискал я что-то подобное в QRegExp (класс поддержки регулярок в Qt) — не нашел ничего похожего (не удивлен).
Но вот перл ведь… имеет встроенную поддержку регулярных выражений (и вроде бы продвинутый в этом плане язык), там есть что-то такое?
By Natalie, 08.01.2014 @ 5:52 пп
Я не очень часто работаю с регулярными выражениями, поэтому могу что-то сказать не верно :) Тем более, что рекурсивные регекспы точно ни разу не встречались.
В perl рекурсивные выражения в регекспах стали доступны в рамках стандартных средств, начиная с версии 5.10 . До этого для подобных задач можно было использовать дополнительные модули, например, Regexp::Common.
Пример поиска:
#!/usr/local/bin/perl my $string =< <"TEXT"; I have some (brackets in (nested brackets) ) and (another group (nested once (nested twice) ) ) ) and also (next group of next group (nested once (nested twice) ) ) and that's it and other text ( . TEXT my @groups = $string =~ m/ ( \( (?: [^\(\)]++ | (?1) )* \) ) /xg; $" = "\n\t"; print "Found:\n\t@groups\n";Вот тут можно смотреть подробнее, с объяснениями: http://stackoverflow.com/questions/4445674/can-i-use-perl-regular-expressions-to-match-balanced-text и http://perldoc.perl.org/perlre.html