Руководства, Инструкции, Бланки

Perl руководство на русском img-1

Perl руководство на русском

Категория: Руководства

Описание

Глава 7: Регулярные выражения - Функции split и join

Глава 7: Регулярные выражения.
7.6 Функции split и join

Регулярные выражения можно использовать для разбивки строки на поля. Это делает функция split. Функция join выполняет противоположное действие — вновь "склеивает" эти кусочки.

Функция split

Функция split получает регулярное выражение и строку и ищет в этой строке все экземпляры указанного регулярного выражения. Те части строки, которые не совпадают с регулярным выражением, возвращаются по порядку как список значений. Вот, например, код синтаксического анализа разделенных двоеточиями полей, аналогичных тем, которые используются в UNIX-файлах /etc/passwd:

Обратите внимание на то, что второе пустое поле стало пустой строкой. Если вы этого не хотите, задайте сопоставление следующим образом:

Здесь при сопоставлении принимаются во внимание одно и более расположенных рядом двоеточий, поэтому пустое поле не образуется.

Очень часто приходится разбивать на поля значение переменной $_, поэтому этот случай предлагается по умолчанию:

При такой разбивке соседние пробелы в разбиваемой строке вызовут появление пустых полей (пустых строк). Лучше использовать образец / +/, а лучше /\s+/, который соответствует одному и более пробельным символам. Этот образец, по сути дела, используется по умолчанию*, поэтому, если вы разбиваете переменную $_ по пробельным символам, вы можете использовать все стандартные значения и просто написать:

Завершающие строки пустые поля в список, как правило, не включаются. Особой роли это обычно не играет. Решение вроде

просто присваивает переменной $shell нулевое значение (undef), если эта строка недостаточно длинна или содержит в последнем поле пустые значения. (Разбиение выполняется так, что лишние поля просто игнорируются.)

* На самом деле образец по умолчанию — строка "", поэтому начальный пробельный разделитель игнорируется, но для нас вышесказанного пока достаточно.

Функция join

Функция join берет список значений и "склеивает" их, ставя между элементами списка строку-связку. Выглядит это так:

Например, чтобы восстановить строку пароля, попробуйте использовать следующее:

Отметим, что строка-связка — это не регулярное выражение, а обычная строка, состоящая из символов общим числом нуль или более.

Если нужно поставить связку не между элементами, а перед каждым элементом, то достаточно такого трюка:

Здесь пустая строка "" рассматривается как пустой элемент, который должен быть связан с первым элементом данных массива @fields. B результате связка помещается перед каждым элементом. Аналогичным образом можно поставить пустой элемент-связку в конец списка:

Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:

Другие статьи

Скачать книги по Perl, учебники Perl

Книги по Perl

  • Оригинальное название: Programming Perl
  • Четвертое издание
  • Автор: Том Кристиансен, Брайан Де Фой, Ларри Уолл, Джон Орвант
  • Издательство: Символ-плюс
  • Год: 2014
  • Язык: Русский
  • ISBN: 978-5-93286-214-8
  • Страниц: 1048
  • Формат: djvu
  • Размер: 30 Мб

Описание книги Программирование на Perl.
Вскоре после выхода первого издания в 1991 году книга "Программирование на Perl" стала считаться неоспоримой библией по языку Perl и продолжает оставаться основным руководством по этому весьма практичному языку.

Скачать книгу 11 августа 2016 09:42 | Просмотров: 725

  • Оригинальное название: Programming Perl
  • Четвертое издание
  • Автор: Том Кристиансен, Брайан Д Фой, Ларри Уолл, Джон Орвант
  • Издательство: Символ-Плюс
  • Год: 2014
  • Язык: Русский
  • ISBN: 978-5-93286-214-8
  • Страниц: 1048
  • Формат: djvu
  • Размер: 30 Мб

Описание книги Программирование на Perl.
Вскоре после выхода первого издания в 1991 году книга "Программирование на Perl" стала считаться неоспоримой библией по языку Perl и продолжает оставаться основным руководством по этому весьма практичному языку.

Скачать книгу 23 февраля 2015 23:30 | Просмотров: 4115

  • Оригинальное название: Perl Debugger: Pocket Reference
  • Автор: Ричард Фоули
  • Издательство: КУДИЦ-Образ
  • Год: 2005
  • Язык: Русский
  • Страниц: 208
  • Формат: djvu
  • Размер: 2 Мб

Описание книги Perl-отладчик. Карманный справочник.
Язык Perl достаточно популярен в России. Его часто упрекают в больших неудобствах отладки приложений. Данное издание призвано исправить эгот не самый существенный недостаток языка и привлечь в ряды сторонников Ларри Уолла новых программистов. Подробно рассматривается отладчик языка Perl, использование команд, опций и переменных.

Скачать книгу 5 июня 2011 21:51 | Просмотров: 5589

Описание книги Разработка Web-сайтов с помощью Perl и MySQL.
На практических примерах описана разработка динамических Web-сайтов с помощью Perl и MySQL. Рассмотрены основные конструкции языка Perl, даны приемы написания сценариев, наиболее часто используемых в разработке Web-сайтов. Уделено внимание способам работы с базами данных посредством Perl, а также вопросам администрирования баз с помощью программы phpMyAdmin.

Скачать книгу 29 мая 2011 17:45 | Просмотров: 7434

Описание книги Automating System Administration with Perl.
If you do systems administration work of any kind, you have to deal with the growing complexity of your environment and increasing demands on your time. Automating System Administration with Perl, Second Edition, not only offers you the right tools for your job, but also suggests the best way to approach specific problems and to securely automate recurring tasks.

Скачать книгу 22 мая 2011 17:23 | Просмотров: 4902

Описание книги Самоучитель Perl.
В книге изложены основы современного языка Perl, популярность которого постоянно возрастает, особенно в таких областях, как обработка текста, CGI - программирование, системное администрирование. Язык описан по схеме от простого к сложному: типы данных, переменные, операции, операторы и т.д. Рассматривается объектно - ориентированная технология программирования.

Скачать книгу 19 мая 2011 22:02 | Просмотров: 8122

  • Оригинальное название: Perl 6 and Parrot Essentials
  • Второе издание
  • Автор: Эллисон Рэндал, Дэн Сугальски, Леопольд Теч
  • Издательство: КУДИЦ-Образ
  • Год: 2005
  • Язык: Русский
  • Страниц: 320
  • Формат: pdf
  • Размер: 21 Мб

Описание книги Perl 6 и Parrot. Справочник.
Когда филолог Ларри Уолл создавал первую версию компьютерного языка Perl, он, наверное, не подозревал, что его детищу будет суждена долгая и увлекательная жизнь. Perl понравился администраторам и web-программистам и прочно занял свою нишу в арсенале разработчиков. У каждого языка есть свои плюсы и минусы - спорить по поводу того, какой язык лучше, можно до бесконечности.

Скачать книгу 14 мая 2011 02:03 | Просмотров: 4125

  • Оригинальное название: Perl. Your Visual Blueprint for Building Perl Scripts
  • Автор: Пол Уайтхэд, Эрик Крамер
  • Издательство: Диалектика
  • Год: 2001
  • Язык: Русский
  • Страниц: 280
  • Формат: djvu
  • Размер: 7 Мб

Описание книги Perl. Наглядный курс программирования.
Изложение материала в этой книге построено на рассмотрении достаточно простых примеров, с помощью которых можно быстро научиться создавать мощные сценарии и программы. Для того чтобы извлечь максимальную пользу из книги, ее необходимо читать последовательно, начиная с первой главы и заканчивая последней. В каждой из следующих глав рассматривается новый материал и способы решения определенных задач, которые во многом базируются на понимании того, что было пройдено в предыдущих главах. Ну, а после того, как вы почувствуете себя знатоком Perl и завершите чтение данной книги, она может служить в качестве информативного наглядного пособия, всегда занимающего почетное место на вашем рабочем столе.

Скачать книгу 21 марта 2011 11:06 | Просмотров: 4493

  • Оригинальное название: Perl Cookbook
  • Второе издание
  • Автор: Том Кристиансен, Натан Торкингтон
  • Издательство: Питер
  • Год: 2004
  • Язык: Русский
  • Страниц: 928
  • Формат: djvu
  • Размер: 8 Мб

Описание книги Perl. Сборник рецептов. Для профессионалов.
Обширный сборник задач, решений и практических примеров для всех программистов Perl. Книга содержит сотни тщательно проанализированных "рецептов" по всем основным областям программирования: обработка данных (строки, числа, даты, массивы и хэши), поиск по образцу и замена текста; ссылки, структуры данных, объекты и классы; сигналы и исключения и т.д.

Второе издание книги было дополнено двумя новыми главами. Одна глава посвящена mod_perl, интегрированному интерпретатору Perl веб-сервера Apache, а другая - обработке данных в формате XML. Многие старые рецепты в других главах были изменены или дополнены.

Скачать книгу 17 марта 2011 00:23 | Просмотров: 5782

  • Оригинальное название: Writing CGI Applications with Perl
  • Автор: Кевин Мельтцер, Брент Михальски
  • Издательство: Вильямс
  • Год: 2001
  • Язык: Русский
  • Страниц: 400
  • Формат: pdf
  • Размер: 5 Мб

Описание книги Разработка CGI-приложений на Perl.
Эта книга научит вас применять Perl для решения задач, необходимых в современных сетевых приложениях. Множество примеров и еще более многочисленные упражнения дают не просто полезную информацию, но и готовые программы, которые вы можете сразу поместить в свои приложения.

Книга поможет вам овладеть практическими приемами и методами, с которыми вы сможете разрабатывать на Perl любые Web-приложения на основе протокола CGI.

Скачать книгу 16 марта 2011 23:48 | Просмотров: 4869

Изучаем Perl

Изучаем Perl

Итак, для начала нам нужно:

Желательно знать несколько языков программирования (предпочтительно C или C++) и уметь писать регулярные выражения (например для утилиты grep). Еще нужно уметь (и любить) работать с командной строкой.

2. Perl - интерпретатор

Вы должны его скачать, установить и проверить работоспособность. Текущая версия Perl - 5, 6-я версия находится в разработке, связываться с более старыми версиями нецелесообразно. Полный комплект Perl 5 весит около 10 мб. Если вы под Unix или Linux, Perl в системе скорее всего уже есть. Версию для Win32 можно взять на www.activestate.com. Для начала подойдет усеченный вариант (0.7 мб), который можно взять на pgbook.dax.ru/perl/download.htm. После установки каталог с perl.exe (обычно c:\perl\bin) должен быть в PATH и должна работать команда:

perl -e "print 'Hello, world!'"

3. Учебник

На мой взгляд, самые лучшие учебники по Perl пишет Randal L. Schwartz. Я бы рекомендовал начать с цикла его статей для журнала Unix Review, которые доступны online. Или с его книги Learning Perl, которая, кстати, переведена на русский и доступна online и в магазинах.

Оригинальный учебник есть на сайте pgbook.dax.ru/perl/index.htm. Отдельные разделы посвящены программированию CGI-скриптов. Там же можно скачать весь необходимый софт.

4. Текстовый редактор

Для начала подойдет и notepad, но предпочтительней Far с плугином colorer .
Скриншоты:

5. Место для общения Что дальше?

В дальнейшем может понадобится:

1. Профессиональный редактор+отладчик или IDE.

Редакторы:
Far +colorer - по прежнему неплохой выбор (бесплатно).
VIM. Emacs. NTEmacs - для тех кому нужны мультиплатформенные профессиональные решения (бесплатно)
MultiEdit - для тех, кто любит Multiedit (платно). Скриншоты:

Отладчики:
Встроенный (perl -d. ) - отладчик с интерфейсом типа "командная строка" встроен в Perl и вполне пригоден для работы. Почувствуйте себя настоящим программистом.

ActiveState Perl Debuger входящий в состав ActiveState Perl Dev Kit - удобный визуальный отладчик (за деньги). Скриншоты:

IDE
ActiveState Komodo - универсальная IDE (за деньги)
ActiveState Visual Perl - Plugin для Microsoft Visual Studio Net (за деньги)

Есть и другие. Я ими не пользуюсь, не буду их перечислять и сравнивать.

Разумеется, нет проблем найти crack ко всем коммерческим инструментам.

2. WEB сервер

Для отладки CGI-скриптов нужен web-сервер. Можно порекомендовать Apache - компактный, многоплатформенный, не требует настройки. Есть версии под все основные платформы.

3. Книги и документация

Штатная документация - вполне исчерпывающая и с каждым годом становится все лучше. Плохо подходит в качестве учебника, хотя и содержит несколько разделов специально для начинающих (содержат в названии "tut").

Самые полезные и качественные книги и учебники выпускает издательство O'REILY.

Learning Perl By Randal Schwartz, Tom Christiansen & Larry Wall
Learning Perl on Win32
By Randal L. Schwartz, Erik Olson & Tom Christiansen

Учебники. Есть перевод на русский.

Programming Perl By Larry Wall, Tom Christiansen & Randal L. Schwartz

Одна из самых известных книг. Есть перевод на русский.

Perl Cookbook By Tom Christiansen & Nathan Torkington

Сборник рецептов. Есть перевод на русский.

Всего на русский переведено более 30 книг.

Эти и другие книги O'REILY выпускаюся на CD, их несложно найти в internet в электронном виде (ищите O'Reilly's bookshelf ).

4. Интернет ресурсы

Хорошие книги по perl? Stack Overflow на русском

Все зависит от того, знаете ли Вы еще другие языки программирования. В любом случае могу посоветовать такой список:

  1. Программирование на Perl. Часть 1. Общий обзор. Глава 1. Обзор Perl

Данная глава описывает, как появился Perl, что делает его таким. Поэтому данная глава обязательна к прочтению. Следующие главы этой книги лучше всего начинать читать только после ознакомлением с более простыми книгами, а именно:

  1. Язык программирования Perl - рассказывается очень доступно для новичка
  2. Шварц Р. Феникс Т. брайан д фой - Изучаем Perl, 5-е издание
  3. Шварц Р. Фой Б. Феникс Т. - Perl. Изучаем глубже. 2-е издание
  4. Элемент списка

Также, если вы хотите быстро въехать в Perl и до этого программировали на каких-либо языках, то могу предложить книгу

Joseph N. Hall, Joshua A. McAdams, brian d foy - Effective Perl Programming, Second Edition

Например, если хотите сразу понять, что это за переменная $_, то пункте (item) 15 описана эта переменная.

ответ дан 8 май '12 в 6:46

Учил. и не один. – Илья Михневич 10 май '12 в 13:58

Я как раз начинал изучать Perl с книги "O'Reilly: Programming Perl". Возможно она не очень проста в чтении для человека, начинающего изучать Perl с нуля, да и вообще начинающего программиста, каким я на тот момент являлся, но после её прочтения, причём вдумчивого и с выполнением практических примеров, начинаешь действительно ощущать стиль Perl. Особенно советую осилить главу про регекспы, там много ценной информации. Впрочем эта книга покрывает не все аспекты, хоть и является базовой. Про объектно-ориентированный Perl советую почитать Демина Конвея Object Orinted Perl. ну и затем начинать документацию по Moose :)

ответ дан 16 май в 17:50

Практический Перл для начинающего

Практический Перл для начинающего

Данная статья написана для людей, которым в силу непреодолимых обстоятельств приспичило срочно изучить Перл. Для меня таким обстоятельством стало то, что мой компьютер стал WEB-сервером, а я, соответственно, WEB-мастером. Учиться принято на чужих ошибках и опыте, поэтому предлагаю Вашему вниманию свой опыт изучения Перла.

Сразу нужно пояснить, для кого это все написано. Если Ваш сервер работает на платформе UNIX, то это я должен читать Вашу статью. У меня же установлен Windows NT workstation 4.0 (RUS) плюс Service Pack 3. Когда пришло время сделать из компьютера WEB-сервер, я было кинулся ко встроенным Службам узла WEB, но быстро понял, что это мне не нравится (почему ?). И тут один добрый человек посоветовал поставить Xitami WEB Server от iMatix Corporation (www.imatix.com ), который и стоит по сей день.

Что касается самого Перла, то здесь несколько сложнее. Покопавшись по различным Перловым серверам (www.perl.org. www.perl.com ) я узнал, что версий Перла настолько много, что выбрать что-нибудь конкретное довольно сложно. При этом каких-нибудь вразумительных рекомендаций по поводу выбора той или иной версии нигде нет. Перепробовав почти все версии для Windows, я остановил свой выбор на Active Perl (www.ActiveState.com ).

Человеку, избалованному всякими Виндовозами и Дельфями, писать программы на Перл довольно непривычно, поэтому настоятельно рекомендую сразу установить Perl Builder. Взять его можно на www.solutionsoft.com. Там лежала тридцатидневная Демо версия.

Ну, думаю, пора переходить непосредственно к делу. В общем случае, скрипт на Перл, как и любая другая программа, работает так:

  1. получает данные
  2. обрабатывает данные
  3. выдает результаты

Передать данные скрипту можно двумя методами - GET и POST. Разница между ними в том, что при использовании GET данные постоянно болтаются в строке адреса браузера, напимер:

В этом случае скрипт B_price.pl берет данные в переменной окружения QUERY-STRING.

При использовании метода POST данные передаются на стандартный вход скрипта. Длинна блока данных берется в переменной CONTENT_LENGTH:

Теперь эти данные нужно перевести в удобоваримый вид, поскольку они закодированы.

Стандартным соглашением служит замена пробелов знаками плюс и затем кодировка оставшихся недопустимых символов с помощью ASCII-кодов в шестнадцатиричной форме, перед которыми ставится знак (%). Пример:

Декодировать строку запросов в первый раз лучше самому. На вопрос "а как?" есть множество ответов, переписывать которые нет смысла. Приведу лишь короткий пример:

Заменяем знаки (+) на пробелы

Потом заменяем все сочетания знака (%), после которого следуют шестнадцатиричные цифры, на соответствующий символ ASCII

Я пользуюсь тем, что предлагает Perl Builder:

В конце скрипта помещаем подпрограмму "прозрачного" чтения данных.

Второй этап работы скрипта - обработка данных - полностью на Ваше усмотрение. Проверяйте полученные данные на правильность, пишите их в файл, делайте что хотите.

И, наконец, Вам нужно выдать какие-то результаты броузеру клиента, причем так, чтобы броузер правильно их отобразил. То есть, выдавать результаты нужно в HTML. Это делается просто: (тоже можно по-разному)

В поле Category Вы ввели: ', $Category, '

Все это касается скриптов, получающих данные из формы на странице HTML. При этом страница с формой - отдельно, скрипт - отдельно. Можно сделать красивее и удобнее: объединить страницу и скрипт в единое целое. Для этого скрипт пишется по схеме:

  1. При первом запуске скрипт рисует HTML страницу с формой и ссылкой в тэге ACTION на самого себя. Первый запуск определяется по отсутствию входных данных.
  2. Если входные данные есть, то получаем их, обрабатываем и выдаем результаты.
Гостевая книга

Общий алгоритм работы гостевой книги таков:

1. Если посетитель хочет сделать запись в книгу, то
1.1 Получаем данные
1.2 Записываем их в файл или в базу данных
1.3 Говорим спасибо на HTML и предлагаем почитать другие записи
2. Если посетитель хочет почитать записи в книге, то
2.1 Читаем записи из файла или из базы данных
2.2 Выводим их красиво в HTML

Для удобства восприятия я оформил пункты 1 и 2 отдельными скриптами add_guestbook.pl и read_guestbook.pl соответственно. Сообщения гостевой книги хранятся в текстовом файле построчно, т.е. на каждую запись - строка. Так сделано для удобства чтения этого файла. Пример одной записи:

Sat Dec 5 13:31:20 1998&Наташа&студентка&Good&Для начала хорошо. Успехов на данном поприще Вам, Александр!&нету@пока&194.226.60.34

Вот описание полей рассматриваемой гостевой книги.

  • Name - имя, фамилия, отчество, кличка - на усмотрение посетителя
  • Work - профессия, род занятий
  • RadioButton - три кнопки: понравилось (Good), не понравилось (Bad), пофигу (Different)
  • Text - text box комментариев и примечаний
  • Email - обратный адрес
Исходные тексты: Оставить комментарий