Новая рублика «Вопрос-ответ» для Perl-программистов

Новая рублика «Вопрос-ответ» на блоге dev-lab.info. Теперь вы можете задать любые вопросы по теме perl-программирования.

Привет всем начинающим perl-программистам!

Несколько недель назад одна чудесная perl-девушка предложила открыть на блоге раздел «Вопрос-ответ». Я пообещала, что открою. Идея, в самом деле, замечательная.

Объявление

Если вы — начинающий perl-программист, и у вас есть какие-то вопросы, вы можете их задать. Для этого, изложите вашу проблему в комментариях к этой статье. Я сделаю все возможное, чтобы вам помочь. Если я не могу ответить — я напишу об этом. Если проблема простая, вы получите ответ тут же, в комментариях. Если решение вопроса достаточно объемное — ответ будет дан в отдельной статье на этом блоге.

Не обещаю отвечать быстро. Работа, офис — сами понимаете :) Если есть очень срочные вопросы, лучше посетите CyberForum.

Обещаю, что на данном блоге вы не встретите хамства и грубости, ни с моей стороны, ни со стороны других комментаторов. Не важно, насколько прост или сложен ваш вопрос. Perl-программисты вообще очень культурные и вежливые люди :)

Поделись ссылкой с друзьями!

В связи с большим количеством спама, все комментарии проходят предварительную модерацию. Извините, за предоставленные неудобства.

Комментарии (3)

  • 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

Other Links to this Post

RSS-лента комментариев к этой записи.

Оставить комментарий