powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Perl
44 сообщений из 44, показаны все 2 страниц
Perl
    #36586471
Ekyen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Начал изучать перл по верблюду, блин мне С++ показался сверх простым(в изучении-понимании) по сравнению с перлом...так тяжко даётся...иногда просто каша в голове создаётся. Кто с перл знаком отпишитесь как это было у вас))
...
Рейтинг: 0 / 0
Perl
    #36586506
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pure joy.
The most elegant and powerful language in existence.
...
Рейтинг: 0 / 0
Perl
    #36586669
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkyenНачал изучать перл по верблюду, блин мне С++ показался сверх простым(в изучении-понимании) по сравнению с перлом...так тяжко даётся...иногда просто каша в голове создаётся. Кто с перл знаком отпишитесь как это было у вас))Как это было? Сначала мне нужно было что-то поставить на машину с Unix, на которой велась разработка одной системы и которую я админил паралельно с участием в разработке. Не помню точно, по-моему это был пакет русификации X-ов с небольшим сценарием установки на каком-то, незнакомом мне тогда, языке. Поскольку все это было найдено где-то в И-нете не на сайте производителя операционной системы, то я посчитал неправильным запускать скрипт, не понимая, что он делает. Быстро выяснив, что этот язык называется Perl, я нашел поблизости обладателя казенной книжки - насколько я помню, это была "Programming Perl" на английском. Мне ее дали почитать на неделю. За неделю чтения по вечерам и в метро я изучил Perl достаточно, чтобы понять, что делал тот скрипт, и чтобы постепенно начать использовать Perl вместо awk или sed в тех ситуациях, когда нельзя обойтись однострочной командой. Нельзя сказать, что я прочитал за неделю всю эту книгу или, что я за неделю выучил Perl. Потом я читал разные книги( если есть сложности с "верблюдом" можно попробовать "ламу" : "Изучаем Perl" и затем "Perl:изучаем глубже") и расширял сферу использования. И этот процесс не закончился. У меня Perl был шестым или восьмым языком программирования - зависит от того как считать. Perl я изучал по мере необходимости для решения конкретных задач. Поэтому не было ни тяжести ни каши в голове. Может быть, даже наоборот. Во всяком случае я считаю, что даже минимальное знание Perl дает в руки мощный и полезный инструмент.
...
Рейтинг: 0 / 0
Perl
    #36586750
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkyenНачал изучать перл по верблюду, блин мне С++ показался сверх простым(в изучении-понимании) по сравнению с перлом...так тяжко даётся...иногда просто каша в голове создаётся. Кто с перл знаком отпишитесь как это было у вас))

попробуй Ламу.
а вообще правильно тут сказали - жить захочешь не так раскорячишься.
Лично я изучал Perl за две недели по ламе верблюду и заданию реализовать за это время мааааленький виртуальный хостинг для одного крупного Internet-провайдера
...
Рейтинг: 0 / 0
Perl
    #36586753
Фотография tchingiz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkyenНачал изучать перл по верблюду, блин мне С++ показался сверх простым(в изучении-понимании) по сравнению с перлом
иллюстрация к анекдоту купи козу.
Посмотрел 15 минут, послушал отзыва соседа про иф - зен наоборот, закрыл и больше никогда
не открывал.
лучше тикль уже если хочется "в руки мощный и полезный инструмент"
...
Рейтинг: 0 / 0
Perl
    #36587673
Шаровик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а я начал сразу с асинхронного программирования на FSM. тяжко достаточно, но зато иинтересно и какой ощутимый прирост в скорости по сравнению с похапе, к примеру
...
Рейтинг: 0 / 0
Perl
    #36589152
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я начал изучать просто по встроенной доке.
Оказалось достаточно знать английский и быть знакомым с юниксом.
В активе к моменту изучения был паскаль (delphi), shell, t-sql (sybase), плюс шапочное знакомство с C, сlipper, vb, asm, forth.
С++ я не изучал, но по сравнению с паскалем перл сверхсложным не показался.

Отдача от изучения пошла через пару месяцев. Использовал для импорта/экспорта данных в БД и автоматизации DBA-рутины, потом добавилось немного веба.

В 2001 году инет был тормозной, пришлось даже поиск по доке делать самому в .chm. Кстати удобно - до сих пор пользуюсь.

Потом прочел Camel и Best Practices. Ламу как-то пропустил.

Сказать уверенно "я знаю перл" смог примерно через 4-5 лет, хотя новое узнаю до сих пор.
...
Рейтинг: 0 / 0
Perl
    #36590994
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sn1251Я начал изучать просто по встроенной доке.
Оказалось достаточно знать английский и быть знакомым с юниксом.
В активе к моменту изучения был паскаль (delphi), shell, t-sql (sybase), плюс шапочное знакомство с C, сlipper, vb, asm, forth.
С++ я не изучал, но по сравнению с паскалем перл сверхсложным не показался.Хы, у меня к первой попытке Perl был почти такой-же список, разве что sql еще не было в багаже. Зато был свободный С и несколько других, ныне мертвых языков.
Первым Perl-проектом был веб-магазин, кстати до сих пор работающий, но подозреваю что от моего кода в нем не осталось ничего :)

sn1251В 2001 году инет был тормозной, пришлось даже поиск по доке делать самому в .chm. Кстати удобно - до сих пор пользуюсь.Я тебе открою страшную тайну, только никому ее не рассказывай: набираешь в консоли perldoc -f open и получаешь описание на функцию open и без всякого интернета!

sn1251Потом прочел Camel и Best Practices. Ламу как-то пропустил.Ничего не читал. Хватило perldoc и подглядывания в чужие исходники.

sn1251Сказать уверенно "я знаю перл" смог примерно через 4-5 лет, хотя новое узнаю до сих пор.Ну новое узнавать не мудрено, язык то развивается. Вон скоро шестая версия будет, вроде симпатичные вещи в ней обещают. Хотя мне до сих пор хватает четвертой.
...
Рейтинг: 0 / 0
Perl
    #36591443
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
White Owlsn1251В 2001 году инет был тормозной, пришлось даже поиск по доке делать самому в .chm. Кстати удобно - до сих пор пользуюсь.Я тебе открою страшную тайну, только никому ее не рассказывай: набираешь в консоли perldoc -f open и получаешь описание на функцию open и без всякого интернета!Я как бы в курсе :)
Мне не хватало полнотекстового локального поиска по установленным модулям.
Например я помню, что есть модуль разбора HTML, я ем уже пользовался, но не помню точного названия модуля. Вместо гадания на perldoc -r или рыскания по файловой системе или ожидания search.cpan.org вбиваю "html parse" - и сразу читаю доку по HTML::Parser или HTML::Tree.
Удобно если инет тормозной или трафик ограничен.
...
Рейтинг: 0 / 0
Perl
    #36597332
Ekyen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И всё-же какой-же С\С++ красивый и логичный))) Чем больше познаю Perl тем больше начинаю любить свой мейнстрим(его я уже озвучил) )))
...
Рейтинг: 0 / 0
Perl
    #36597359
spudei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Учил по ламерской книжке Пирса Клинтона.
Тогда не было своего компа.
Хотя, маны к перлу куда полезнее.
Возможно, можно и без книжек учить,
только доки с поставки и к модулям.
...
Рейтинг: 0 / 0
Perl
    #36597632
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkyenИ всё-же какой-же С\С++ красивый и логичный))) Чем больше познаю Perl тем больше начинаю любить свой мейнстрим(его я уже озвучил) )))

Уверяю тебя, как человек хорошо знающий C++ и Perl. Perl гораздо логичнее (то что логика местами безумна, а в других местах не из нашего мира - другой вопрос). Си логичнее Perl-а это факт, но и по предоставляемым возможностям они совершенно несопоставимы.
...
Рейтинг: 0 / 0
Perl
    #36599260
Ekyen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)EkyenИ всё-же какой-же С\С++ красивый и логичный))) Чем больше познаю Perl тем больше начинаю любить свой мейнстрим(его я уже озвучил) )))

Уверяю тебя, как человек хорошо знающий C++ и Perl. Perl гораздо логичнее (то что логика местами безумна, а в других местах не из нашего мира - другой вопрос). Си логичнее Perl-а это факт, но и по предоставляемым возможностям они совершенно несопоставимы.

Возможно я не верно высказался, С\С++ все-же ближе к машинному представлению фу-ия ну грубо говоря...там главное понять суть что-ли...в Perle слишко много всякой требушни...тут это так а тут это вот так...не ставь этот тут а ставь тут...в одном месте по одному работает в другом по другому и причём по логике ты не домыслишь это...это просто есть как правило...мне Perl очень напоминает обычные языки(Не зря Ларри - лингвист)...которые я терпеть немогу из-за кучи нелогичных правил и всяких исключений...
...
Рейтинг: 0 / 0
Perl
    #36599368
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkyenGluk (Kazan)EkyenИ всё-же какой-же С\С++ красивый и логичный))) Чем больше познаю Perl тем больше начинаю любить свой мейнстрим(его я уже озвучил) )))

Уверяю тебя, как человек хорошо знающий C++ и Perl. Perl гораздо логичнее (то что логика местами безумна, а в других местах не из нашего мира - другой вопрос). Си логичнее Perl-а это факт, но и по предоставляемым возможностям они совершенно несопоставимы.

Возможно я не верно высказался, С\С++ все-же ближе к машинному представлению фу-ия ну грубо говоря...там главное понять суть что-ли...в Perle слишко много всякой требушни...тут это так а тут это вот так...не ставь этот тут а ставь тут...в одном месте по одному работает в другом по другому и причём по логике ты не домыслишь это...это просто есть как правило...мне Perl очень напоминает обычные языки(Не зря Ларри - лингвист)...которые я терпеть немогу из-за кучи нелогичных правил и всяких исключений...

И снова повторюсь, правила весьма логичные (как впрочем и в естественных языках). Исключений из правил существенно меньше чем в естественных языках. Именно это позволяет не заучивать язык, а понимать его. C++ в этом отношении выглядит менее ... естественным

Не слушай слова, слушай музыку (c) Кош
...
Рейтинг: 0 / 0
Perl
    #36599373
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не следует думать, что я призываю кого либо изучать или использовать Perl.
Что кому и как нравится - это его личное дело :)
...
Рейтинг: 0 / 0
Perl
    #36599382
Ekyen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)EkyenGluk (Kazan)EkyenИ всё-же какой-же С\С++ красивый и логичный))) Чем больше познаю Perl тем больше начинаю любить свой мейнстрим(его я уже озвучил) )))

Уверяю тебя, как человек хорошо знающий C++ и Perl. Perl гораздо логичнее (то что логика местами безумна, а в других местах не из нашего мира - другой вопрос). Си логичнее Perl-а это факт, но и по предоставляемым возможностям они совершенно несопоставимы.

Возможно я не верно высказался, С\С++ все-же ближе к машинному представлению фу-ия ну грубо говоря...там главное понять суть что-ли...в Perle слишко много всякой требушни...тут это так а тут это вот так...не ставь этот тут а ставь тут...в одном месте по одному работает в другом по другому и причём по логике ты не домыслишь это...это просто есть как правило...мне Perl очень напоминает обычные языки(Не зря Ларри - лингвист)...которые я терпеть немогу из-за кучи нелогичных правил и всяких исключений...

И снова повторюсь, правила весьма логичные (как впрочем и в естественных языках). Исключений из правил существенно меньше чем в естественных языках. Именно это позволяет не заучивать язык, а понимать его. C++ в этом отношении выглядит менее ... естественным

Не слушай слова, слушай музыку (c) Кош
В естественных языках правила как раз обычно не логичные...т.к. формируются они долгими историческими "перетераниями" и очень часто логичным их назвать трудно))
Конечно же исключений меньше...но их всё-же достаточно много)
Ну а поводу изучения и использования то тут я и так этим буду заниматься\занимаюсь)) Мне просто необходим такой инструмент...а ещё уже купил кемелбук.а он зараза не такой уж дешёвый))
...
Рейтинг: 0 / 0
Perl
    #36599754
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну коли уж он тебе необходим. Почему бы не попробывать его понять, а не зазубривать?
Что ты теряешь ???
...
Рейтинг: 0 / 0
Perl
    #36602048
Ekyen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluk (Kazan)Ну коли уж он тебе необходим. Почему бы не попробывать его понять, а не зазубривать?
Что ты теряешь ???

А кто говорит, что я его зазубриваю? Я его понимаю.
...
Рейтинг: 0 / 0
Perl
    #36602386
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EkyenGluk (Kazan)Ну коли уж он тебе необходим. Почему бы не попробывать его понять, а не зазубривать?
Что ты теряешь ???

А кто говорит, что я его зазубриваю? Я его понимаю.

Я рад за тебя :)
...
Рейтинг: 0 / 0
Perl
    #36604596
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто знает, существует ли скриптовый язык, который работает быстрее Perl в задачах обработки текста?
...
Рейтинг: 0 / 0
Perl
    #36605406
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
awk
...
Рейтинг: 0 / 0
Perl
    #36605481
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что-нибудь посовременней и под винду?
...
Рейтинг: 0 / 0
Perl
    #36605504
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аnострофа что-нибудь посовременней и под винду?

ты уж выбери для себя что важнее:

1. быстрое
2. посовременее
3. под винду

Про awk могу сказать, что в силу некоторых архитектурных решений, на обработке текста он на порядки быстрее Perl-а. Кстати, под винду тоже е
...
Рейтинг: 0 / 0
Perl
    #36605516
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет "на порядки" - это ты загнул :)

по тестам разработчика компилируемой версии awk (а уж он свое детище не обидит) обходит интерпретируемый Perl в 1,5 - 2 раза.

http://awka.sourceforge.net/compare.html

Причем сравнения скорости регулярных выражений я так и не нашел.
...
Рейтинг: 0 / 0
Perl
    #36605523
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можешь на awk составить программку, которая

прочитает файл 1.txt в своей директории
выполнит замену по шаблону s/\d+/123/g
и запишет результат в 2.txt
?

Хочу скорость сравнить :)
...
Рейтинг: 0 / 0
Perl
    #36605662
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофНасчет "на порядки" - это ты загнул :)

по тестам разработчика компилируемой версии awk (а уж он свое детище не обидит) обходит интерпретируемый Perl в 1,5 - 2 раза.

http://awka.sourceforge.net/compare.html

Причем сравнения скорости регулярных выражений я так и не нашел.

На пару порядков на специфичных задачах.
Загибать привычки не имею, мы ем логи как то раз парсили. Сначала Perl-ом a потом awk.

По поводу скорости регулярок (а это не единственное отличие, влияющее на производительность)
почитай про DFA vs NFA (Хотя оно больше для простоты так называется ибо любое регулярное выражение можно привести к DFA (через NFA), а те регулярные выражения, что в Perl, они и не регулярные выражения вовсе, а нечто гораздо более мощное и гораздо менее теоретически обоснованное, для простоты называемое малограмотными людьми NFA движком регулярных выражений).

Блин, целый абзац написал Оно мне надо ваще тебя уговаривать ???
Возьми сравни и удивись. Если функционала awk хватит для твоей задачи, Perl по быстродействию рядом с ним стоять не будет (и мало кто еще к этому быстродействию приблизится)
...
Рейтинг: 0 / 0
Perl
    #36605672
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аnострофможешь на awk составить программку, которая

прочитает файл 1.txt в своей директории
выполнит замену по шаблону s/\d+/123/g
и запишет результат в 2.txt
?

Хочу скорость сравнить :)

sed еще посмотри
а програмки за тебя писать у меня времени нет, уж звиняй
могу книжку по авку подкинуть
...
Рейтинг: 0 / 0
Perl
    #36605711
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь напишите на awk это прогу. На минуту делов-то. Вот на Perl:

open(IN, "1.txt");
open(OUT, ">2.txt");
while(<IN>){
s/\d+/123/g;
print OUT
}

А потом сравним скорость. Самому интересно.
...
Рейтинг: 0 / 0
Perl
    #36606072
avb1003
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аnостроф,
Если очень интересно, то рекомундую посмотреть
Дж.Фридл. "Регулярные выражения. Библиотека программиста" СПб.:Питер, 2001. c.147.
В главе 6 "Регулярные выражние в конкретных программах" есть раздел посвященный Awk и в нем
подраздел "Различия между диалектами регулярных выражений awk". Их, диалектов, там приведено 6.
Глава 7 посвящена регулярным выражениям в Perl. В Perl скорость работы с регулярными выражениями сильно зависит от выбора этих выражений - можно легко написать "плохое". В книге объясняется,
что к чему и как писать "хорошие". А сам язык, как таковой, вряд ли "на порядки" медленней. У меня был опыт - вдруг стала иногда(но сильно) тормозить С-ная программа - компонент системы 7x24, уже была в эксплуатации где-то около года. По-видимиму, администратор или другой нехороший человек подменил динамические библиотеки. Проблема решилась заменой регулярного выражения - не помню детали, где-то "убрал" "звездочку."
...
Рейтинг: 0 / 0
Perl
    #36606081
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, я неплохо разбираюсь в регулярных выражениях, так как написал по ним диссертацию :)
Человек уверяет, что awk при обработке текста работает "на порядок быстрее Perl". Мне интересно, действительно ли это так.
...
Рейтинг: 0 / 0
Perl
    #36606599
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофСпасибо, я неплохо разбираюсь в регулярных выражениях, так как написал по ним диссертацию :)
Человек уверяет, что awk при обработке текста работает "на порядок быстрее Perl". Мне интересно, действительно ли это так.

Интересно - проверь (я для себя уже проверил).
За тебя это делать не собираюсь

Коль диссер написл, должен понимать почему в Perl-е регулярные выражения далеко не так быстры как могли быть (не будь в них многих вкусностей)
...
Рейтинг: 0 / 0
Perl
    #36606715
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, так AWK используются DFA :( Ни обратных ссылок, ни утверждений. Для моих задач совсем не подходит, т.к. юзаю по-полной все возможности NFA и даже пишу по вечерам свою версию PCRE :) Работать движок будет помедленней, чем PCRE, но там будет куча вкусностей, облегчающих написания рег. выражений. Например, можно будет напрямую прописывать в шаблоне числа - скажем, "больше 40, но меньше 270".
...
Рейтинг: 0 / 0
Perl
    #36606763
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофА, так AWK используются DFA :( Ни обратных ссылок, ни утверждений. Для моих задач совсем не подходит, т.к. юзаю по-полной все возможности NFA и даже пишу по вечерам свою версию PCRE :) Работать движок будет помедленней, чем PCRE, но там будет куча вкусностей, облегчающих написания рег. выражений. Например, можно будет напрямую прописывать в шаблоне числа - скажем, "больше 40, но меньше 270".

Опять же, стоит определиться, что важнее: быстро или вкусности
Нам вкусностей хватало, а вот быстро было очень актуально
...
Рейтинг: 0 / 0
Perl
    #36606771
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофНапример, можно будет напрямую прописывать в шаблоне числа - скажем, "больше 40, но меньше 270".

Гмм. В Perl-е можно довычислять выражение по ходу его выполнения. Мозг при этом правда выкипает да и вкусность какая-то шибко инопланетная, но ты уверен, что не изобретаешь велосипед ?
...
Рейтинг: 0 / 0
Perl
    #36606876
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan), уверен. Сейчас, чтобы определять и сравнивать числа (не одиночные символы-цифры, а именно числа) внутри регулярных выражений приходится такой код наворачивать, что написание каждой такой регулярки превращаются в нетривиальную задачку даже для неслабых умов. А, между тем, дело это очень даже востребовано.
Еще одна фишка - оптимизация работы с пакетами регулярных выражений. Я обнаружил что длинное регулярное NFA-выражение с кучей условий, альтернациями, классами символов и т.п. работает гораздо медленней, чем аналогичный по действию пакет коротких регулярных выражений. В некоторых ситуациях разница доходит до 10 - 15 раз! Чем длиннее и сложнее регулярное выражение, тем эффективней с ним работает мой движок по сравнению с PCRE. Однако пока я погряз в отладке и оптимизации - даже не знаю, когда будет полноценная бета, которую будет не стыдно людям показать.
...
Рейтинг: 0 / 0
Perl
    #36606887
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На коротких шаблонах PCRE пока быстрее на 20-30 % за счет того, что у меня движок более высокоуровневый.
...
Рейтинг: 0 / 0
Perl
    #36606920
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофНа коротких шаблонах PCRE пока быстрее на 20-30 % за счет того, что у меня движок более высокоуровневый.

Наверное стоит посмотреть на движок TCL по поводу оптимизаций.
Не впоне понимаю как будет выглядеть регулярка для чисел. Примерчик можно?
...
Рейтинг: 0 / 0
Perl
    #36607009
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TCL использует комбинированный движок NFA-DFA, но скорость не впечатлила.
...
Рейтинг: 0 / 0
Perl
    #36607037
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример: удалить из строки числа, которые больше 23

s/ (\d:>23) / /g

Пример: найти в строке числа, которые больше переменной $a на 100, но меньше переменной $b

/(\d:>$a+1, <$b)/g
...
Рейтинг: 0 / 0
Perl
    #36607095
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофПример: удалить из строки числа, которые больше 23

s/ (\d:>23) / /g

Пример: найти в строке числа, которые больше переменной $a на 100, но меньше переменной $b

/(\d:>$a+1, <$b)/g

надо вводить какие то скобки наподобие фигурных для квантификаторов.
Иначе каша получится и будет совсем не PCRE (особенно в последнем примере)
Кстати, числа это все таки \d+, а не \d
...
Рейтинг: 0 / 0
Perl
    #36607099
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пакеты на данный момент записываются в стиле Perl:

/regex1/ &&
/regex2/ &&
!/regex3/ &&
!/regex4/

т.е. если в строке ЕСТЬ regex1 и regex2, НО НЕТ regex3 и regex4, то пакет нашел совпадение. С помощью таких пакетов можно очень быстро писать сложнейшие условия для отлова строк, причем пакет будет работать в 10 - 15 раз быстрее, чем одно длинное NFA-регулярное выражение с использованием утверждений и прочих расширенных конструкций. Самое сложное - правильно реализовать возвращение найденных в пакете захваченных переменных.
...
Рейтинг: 0 / 0
Perl
    #36607118
Аnостроф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Надо вводить какие то скобки наподобие фигурных для квантификаторов" - это был самый первый вариант, который попробовал. Но с ним есть определенные трудности.

"Иначе каша получится и будет совсем не PCRE". При разбиении регулярных выражений на пакеты они выглядят очень понятно и легко записываются. Ладно, что-то я совсем выбился из рабочей колеи :)
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Perl
    #38482802
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АnострофПример: удалить из строки числа, которые больше 23

s/ (\d:>23) / /g

Пример: найти в строке числа, которые больше переменной $a на 100, но меньше переменной $b

/(\d:>$a+1, <$b)/g



Код: perl
1.
2.
3.
4.
5.
#удалить из строки числа, которые больше 23
s/ (\d+) / $1 if $1 <= 23 /ex

#найти в строке числа, которые больше переменной $a на 100, но меньше переменной $b
grep { $_-100 > $a and $_ < $b }  m/ ( \d+ ) /gx



ой-ой, закипели мозги.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Perl
    #39867045
Фотография volodin661
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аnостроф
даже пишу по вечерам свою версию PCRE :) Работать движок будет помедленней, чем PCRE, но там будет куча вкусностей, облегчающих написания рег. выражений. Например, можно будет напрямую прописывать в шаблоне числа - скажем, "больше 40, но меньше 270".

Пример: удалить из строки числа, которые больше 23

Код: perl
1.
s/ (\d:>23) / /g





Хочу отметить, что Larry Wall таки прислушался к идеям Апострофа :-) и реализовал их в своём новом regex engine в языке Perl6

удалить из строки числа, которые больше 23 :

Код: perl
1.
s:g /(\d+) { $0 > 23 or next }//
...
Рейтинг: 0 / 0
44 сообщений из 44, показаны все 2 страниц
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Perl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]