This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| static const boost::regex::flag_type rx_flags = | |
| boost::regex_constants::perl| | |
| boost::regex_constants::icase| | |
| boost::regex_constants::optimize| | |
| boost::regex_constants::collate; | |
| static boost::regex regex_tcp_v4("((([^:]+)?(:([^@]+))?@)?([^\\/\\?:]+)(:(\\d+))?)?(\\/([^\\?]+)?)?(\\?(.*))?$", rx_flags); | |
| static boost::regex regex_tcp_v6("((([^:]+)?(:([^@]+))?@)?(\\[[:\\da-f]+\\])(:(\\d+))?)?(\\/([^\\?]+)?)?(\\?(.*))?$", rx_flags); | |
| static boost::regex regex_unix("((([^:]+)?(:([^@]+))?@)?([^:?:]+)(:([^\\?]+))?)?(\\?(.*))?", rx_flags); | |
| static boost::regex regex_query("([-\\w+%]+)=([^&;]*)", rx_flags); | |
| static boost::regex regex_is_v6("\\[[\\:\\da-f]+\\]", rx_flags); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| SRC="." | |
| for FILE in $(find "$SRC" -type f -regex ".*[.]\(p.\|[it]?html\|php\|cgi\|t\|js\|s?css\|feature\|sql\|yml\|json\|txt\)$") | |
| do | |
| R=$(grep $'\r' "$FILE") | |
| if [ -n "$R" ]; then | |
| echo "$FILE" | |
| TEMPFILE=$(tempfile) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/perl | |
| # -------------------------------------------------------------------------------- | |
| # Вход: массив слов | |
| # Выход: отдельно сгруппировать слова, являющиеся анаграммами, | |
| # отдельно - не являющиеся | |
| # -------------------------------------------------------------------------------- | |
| use Modern::Perl; | |
| use utf8; | |
| use DDP; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package StrictRound; | |
| # ------------------------------------------------------------------------------ | |
| # Обёртка для POSIX::round. Позволяет настраивать контроль входного параметра | |
| # и реакцию на ошибки. Плюс обрабатывает ',' (или что ещё) как десятичную точку. | |
| # | |
| # Пример: | |
| # | |
| # use StrictRound qw/strict_round/, { | |
| # allow_undef => 1, - разрешить undef и '' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/perl | |
| # ------------------------------------------------------------------------------ | |
| # Напишите скрипт, получающий в качестве параметра путь к XML-файлу и выдающий | |
| # на STDOUT следующее: | |
| # * суммарное число букв внутри тегов, не включая пробельные символы | |
| # (<aaa dd="ddd">text</aaa> - четыре буквы) | |
| # * суммарное число букв нормализованного текста внутри тегов, включая пробелы | |
| # * число внутренних ссылок (теги <a href="#id">) | |
| # * число битых внутренних ссылок (ссылки на несуществующие ID элементов) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/perl | |
| # ------------------------------------------------------------------------------ | |
| # Напишите скрипт, получающий в качестве параметра путь к XML-файлу и выдающий | |
| # на STDOUT следующее: | |
| # * суммарное число букв внутри тегов, не включая пробельные символы | |
| # (<aaa dd="ddd">text</aaa> - четыре буквы) | |
| # * суммарное число букв нормализованного текста внутри тегов, включая пробелы | |
| # * число внутренних ссылок (теги <a href="#id">) | |
| # * число битых внутренних ссылок (ссылки на несуществующие ID элементов) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/perl | |
| # ------------------------------------------------------------------------------ | |
| # Напишите скрипт, получающий в качестве параметра путь к XML-файлу и выдающий | |
| # на STDOUT следующее: | |
| # * суммарное число букв внутри тегов, не включая пробельные символы | |
| # (<aaa dd="ddd">text</aaa> - четыре буквы) | |
| # * суммарное число букв нормализованного текста внутри тегов, включая пробелы | |
| # * число внутренних ссылок (теги <a href="#id">) | |
| # * число битых внутренних ссылок (ссылки на несуществующие ID элементов) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/perl | |
| # ------------------------------------------------------------------------------ | |
| # Напишите скрипт, получающий в качестве параметра путь к XML-файлу и выдающий | |
| # на STDOUT следующее: | |
| # * суммарное число букв внутри тегов, не включая пробельные символы | |
| # (<aaa dd="ddd">text</aaa> - четыре буквы) | |
| # * суммарное число букв нормализованного текста внутри тегов, включая пробелы | |
| # * число внутренних ссылок (теги <a href="#id">) | |
| # * число битых внутренних ссылок (ссылки на несуществующие ID элементов) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/perl | |
| # ------------------------------------------------------------------------------ | |
| # Напишите скрипт, получающий в качестве параметра путь к XML-файлу и выдающий | |
| # на STDOUT следующее: | |
| # * суммарное число букв внутри тегов, не включая пробельные символы | |
| # (<aaa dd="ddd">text</aaa> - четыре буквы) | |
| # * суммарное число букв нормализованного текста внутри тегов, включая пробелы | |
| # * число внутренних ссылок (теги <a href="#id">) | |
| # * число битых внутренних ссылок (ссылки на несуществующие ID элементов) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Поначалу захотелось Mojo::DOM. Когда-то использовал этот модуль в качестве замены HTML::DOM (он кошмарен), | |
| и не разочаровался. Вменяемый набор методов, но... На XML от 100 Mb он так тормозил, что сразу отбросил. | |
| OK, идём по классике: XML::LibXML. Из плюсов: | |
| 1) хороший комбайн с кучей возможностей (хотя, как и любое универсальное, для конкретных задач может быть громоздок) | |
| 2) вполне шустро | |
| 3) приятная мелочь: умеет обрабатывать NS в атрибутах (все следующие варианты - нет, и если мы не знаем заранее какие | |
| NS могут встретиться, приходится заморачиваться отдельно; дальше отдельно про NS упоминать не буду) |