Первый сайт на Perl


         

Perl - статьи

Изначально библиотека GTK+ была разработана Питером Матисом (Peter Mattis) и Спенсером Кимбелом (Spencer Kimball) для нужд графического редактора GIMP (GNU Image Manipulation Program), но потом была выделена в отдельный проект. Сама библиотека GTK+ написана на C, но существуют языковые привязки (language bindings) и для многих других языков программирования, в их числе и Perl.
Судя по графику релизов и количеству баг-фиксов, проект GTK+ развивается достаточно активными темпами. За время существования проекта вокруг него сформировалось внушительное сообщество, что также является положительным моментом. В настоящее время команда ключевых разработчиков состоит из десяти человек, представляющих такие компании, как Red Hat, Novell и Intel Open Source Technology Center.
Следует отметить хорошую поддержку механизмов интернационализации и локализации: обратите внимание на использование кодировки UTF-8 в примере.

Введение
В этой статье приводится обзор библиотеки GTK+ и её интерфейса к языку Perl Gtk2-Perl. Поскольку GUI-приложения, написанные на Gtk2-Perl, довольно большая редкость, собирать информацию приходится по крупицам. Цель статьи постараться дать объективную оценку связке Perl/GTK+: отметить сильные и слабые стороны, предупредить о возможных сложностях и проблемах.

Библиотека GTK+
Документация по библиотекам, входящим в состав GTK+, поддерживается в актуальном состоянии, однако тут есть один нюанс. Разработчики языковых привязок зачастую считают документацию по своим интерфейсам "производной" от документации по оригинальным библиотекам GTK+ и поэтому не всегда поддерживают её в актуальном состоянии. Именно такая ситуация наблюдается с Gtk2-Perl.

Библиотека GTK+
Установка в Linux/BSD
Установка в Windows
Минимальное приложение
Выводы
Ссылки

Гостевая книга из Perl'овки
Многие начинающие веб-мастера ставят на свои сайты гостевые книги из бесплатных сервисов. Но как же хочется иметь свою собственную! Собственная гостевая книга, со своим дизайном… Со своим дизайном. Что ж, на самом деле это вовсе не так сложно, как кажется. Давайте разберемся, как написать простую гостевую книгу на Perl.

Гостевая книга из Perl'овки
Гостевая книга из Perl'овки - 2

Пример использования модулей LWP и HTML::Tree
Сама идея написать скриптик - возникла после того, как встал вопрос о том, что раздел "книги" сайта - надоело дополнять/редактировать и т.д. вручную. Захотелось это дело автоматизировать, сделать поиск и т.д. Первая идея, которая возникла, - это было создание мини интернет-магазина, куда вносились бы книги и т.д. Но, это опять таки требовало присутствия человека.

Использование модулей LWP и HTML::Tree
Использование модулей LWP и HTML::Tree - 2
Использование модулей LWP и HTML::Tree - 3
Использование модулей LWP и HTML::Tree - 4
Использование модулей LWP и HTML::Tree - 5
Использование модулей LWP и HTML::Tree - 6
Использование модулей LWP и HTML::Tree - 7
Использование модулей LWP и HTML::Tree - 8

Три письма на Perl
Те, кто имел дело с Perl, знают, что написание на этом мощном языке программирования скрипта для создания и отправки писем - для начинающего дело достаточно сложное. Мы рассмотрим три варианта таких скриптов

Вариант первый
Вариант первый - 2
Третий вариант
Третий вариант - 2

Web Основы с LWP
LWP (сокращение от "Library for WWW in Perl") это очень популярная группа модулей языка Perl для доступа к данным в сети Internet. Как и большинство модулей языка Perl, на каждый модуль из состава LWP присутствует документация с полным описанием его интерфейса. Однако, в LWP есть множество модулей, для которых довольно сложно найти документацию по, казалось бы, простейшим вещам.

Доступ к страничкам с помощью LWP::Simple
Основы классовой модели LWP
Основы классовой модели LWP - 2
Добавление других заголовков HTTP запроса
Включение Cookies(Теневых посылок)
Отправка данных форм методом POST
Передача данных форм методом GET
Относительные в абсолютные ссылки
Другие свойства броузера
Написание учтивых роботов

Создание пакетов и модулей в Perl
Защищенность и модульность - два великих принципа программирования. Perl обеспечивает их выполнение, предоставляя возможность разбивать программу на полуавтономные фрагменты так, что программисту не надо беспокоиться о конфликтах между ними и остальной частью программы. Для деления программы на независимые фрагменты используются пакеты Perl, которые создают непересекающиеся области имен (namespaces). Что такое область имен? Это часть программы со своей собственное областью видимости глобальных идентификаторов - другими словами, она функционирует как частная территория программиста.

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

Определения
Определения - 2
Определения - 3
Определения - 4
Определения - 5
Одиночные символы
Одиночные символы - 2
Классы символов
Альтернативные шаблоны
Квантификаторы

Защищаем Perl
Уязвимые CGI-скрипты - замечательная лазейка в компьютерные системы. Можем ли мы "перекрыть" ее со 100% надежностью, раз и навсегда? В статье проанализированы достоинства и недостатки существующих подходов к защите Perl и предложен метод защиты, основанный на "хакерской" (клин клином вышибают!) подмене системных функций процесса.

Защищаем Perl
Кому это нужно?
Почему Perl уязвим?
Фильтрация пользовательского ввода
Ограничение прав Web-сервера
"Лоботомия" Perl
Перехват системных вызовов
Внедрение защитной DLL

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

Вначале разработайте интерфейс модулей
Вначале пишите тесты, затем код
Вначале пишите тесты, затем код - 2
Вначале пишите тесты, затем код - 3
POD-документация для модулей и приложений
POD-документация для модулей и приложений - 2
Используйте систему управления версиями
Продуманные интерфейсы командной строки
Продуманные интерфейсы командной строки - 2
Продуманные интерфейсы командной строки - 3

Установка в Linux/BSD
На сегодняшний день существует несколько модулей для работы с Tk (да, TIMTOWTDI в Perl ещё никто не отменял). Основное отличие между ними заключается в способе взаимодействия с библиотекой Tk: или через XS-интерфейс, или через язык Tcl. Первый подход более трудоёмок для разработки и поддержки, но обладает большей производительностью, кроме того, он является стандартной идиомой для языка Perl.

Установка в Linux/BSD
Установка в Windows
Более сложный пример на Perl/Tk
Модуль Tkx от ActiveState
Модуль Tkx от ActiveState - 2
Выводы

Test-coverage-report
Значение инструментов для оценки степени покрытия кода тестами зачастую недооценивают: есть мнение, что если код и так хорошо покрыт, то отчёт всего лишь подтвердит и без того известный факт, ну а если кодовая база практически не протестирована, то скудные 5% покрытия навряд ли добавят оптимизма разработчикам.

Devel::Cover на примере
Стратегии тестирования
Автоматизация процесса
Интеграция с VIM-ом

Обзор wxWidgets
Лейтмотив wxWidgets - "Native Look and Feel". Достигается это за счет использования стандартных виджетов той платформы, на которой в данный момент работает программа. К примеру, wx-приложение под Windows будет выглядеть так же как и остальные Windows-приложения, а в Mac OS X - как другие приложения Mac OS X. К слову, для некоторых платформ существует сразу несколько портов wxWidgets. Так в Linux, wxWidgets может работать "поверх" GTK+, X11 или Motif. Первый вариант, однако, наиболее распространен.

Обзор wxWidgets
Обзор wxPerl
Установка в Linux
Установка в Windows
Минимальное приложение на wxPerl
Wx::Demo
Выводы
Ссылки

Первый сайт на Perl

Язык Perl создан системным программистом Ларри Уоллом (Larry Wall) как средство UNIX, позволяющее "склеивать" из программок, выполняющих отдельные функции, большие сценарии для решения комплекса задач, связанных с администрированием, обработкой текста и т. д. В дальнейшем он вышел за эти рамки, превратился в настоящий язык программирования, в котором нашли отражение многие тенденции, обозначившиеся в технологии программирования за последнее десятилетие, и получил широкое распространение в связи с развитием Inernet. Perl является основным средством создания приложений CGI, удобен для решения задач администрирования Web-серверов, электронной почты и других систем. Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.

Предисловие
Благодаря быстроте и легкости написания сценариев на этом языке он распространился и на другие платформы: DOS, Windows, OS/2, Mac, VMS и пр. Одно из основных достоинств языка Perl — его открытость и доступность. В сети Internet можно получить совершенно бесплатно исходные тексты интерпретатора perl (язык Perl — интерпретируемый, что в некоторых случаях является преимуществом) и модулей его расширения.

Введение в мир Perl
Что такое Perl? Это сокращенное название языка программирования Practical Extraction and Report Language (Практический язык извлечений и отчетов). Что подразумевается под "извлечениями" и "отчетами"? Почему практический язык? Для чего он предназначен? Какие задачи можно решать с его помощью? Эти и многие другие вопросы возникают, естественно, у любого человека, хоть немного знакомого с информатикой, когда он впервые сталкивается с новым для него языком программирования.

История языка Perl
История языка Perl - 2
История языка Perl - 3
История языка Perl - 4
Характерные черты Perl
Характерные черты Perl - 2
Характерные черты Perl - 3
Характерные черты Perl - 4
Характерные черты Perl - 5
Области применения Perl

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

Простая программа
Простая программа - 2
Простая программа - 3
Простая программа - 4
Простая программа - 5
Простая программа - 6
Объявления и комментарии
Выражения и операторы
Выражения и операторы - 2
Выражения и операторы - 3

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

Скалярный тип данных
Скалярный тип данных - 2
Скалярный тип данных - 3
Скалярный тип данных - 4
Скалярный тип данных - 5
Скалярный тип данных - 6
Скалярный тип данных - 7
Скалярный тип данных - 8
Скалярный тип данных - 9
Скалярный тип данных - 10

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

Арифметические операции
Арифметические операции - 2
Арифметические операции - 3
Арифметические операции - 4
Арифметические операции - 5
Арифметические операции - 6
Операции ввода/вывода
Разные операции
Разные операции - 2
Разные операции - 3

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

Модификаторы простых операторов
Составные операторы
Составные операторы - 2
Составные операторы - 3
Составные операторы - 4
Составные операторы - 5
Операторы цикла
Операторы цикла - 2
Операторы цикла - 3
Операторы цикла - 4

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

Операция ввода команды
Операция ввода команды - 2
Операция ввода команды - 3
Операция ()
Операция () - 2
Операция () - 3
Операция () - 4
Операция () - 5
Функция print
Функция print - 2

Дескрипторы файлов
Когда в программе мы создаем переменные и храним в них разнообразные данные, мы теряем их по завершении работы программы. Если нам необходимо сохранить данные и использовать их в разрабатываемых программах, мы создаем файл, записываем в него данные и сохраняем его на диске. Практически любой язык программирования предоставляет программисту средства манипулирования файлами и хранимыми в них данными.

Дескрипторы файлов
Дескрипторы файлов - 2
Дескрипторы файлов - 3
Доступ к файлам
Доступ к файлам - 2
Доступ к файлам - 3
Доступ к файлам - 4
Доступ к файлам - 5
Доступ к файлам - 6
Доступ к файлам - 7

Объявление формата
Как мы помним, дословный перевод аббревиатуры языка Perl включает в себя слова "язык отчетов", т. е. язык Perl предназначен не только для извлечения и обработки информации из текстовых файлов, но и для генерирования отчетов на основе этой информации. Пока что мы для вывода информации использовали функцию print (), которая не очень-то удобна для создания отчетов — определенным образом отформатированной выходной информации.

Объявление формата
Объявление формата - 2
Объявление формата - 3
Объявление формата - 4
Объявление формата - 5
Объявление формата - 6
Объявление формата - 7
Использование нескольких форматов
Использование нескольких форматов - 2
Использование нескольких форматов - 3

Виды ссылок
Ссылка на некоторую переменную содержит адрес этой переменной в оперативной памяти. Говорят, что ссылка указывает на переменную. Ссылки широко используются в современных языках программирования, таких как Pascal, C/C++. Вместо слова "ссылка" для обозначения термина может применяться слово "указатель". Основной областью применения ссылок является создание сложных структур данных, способных изменяться во время выполнения программы.

Создание ссылок
Операция ссылки "\"
Конструктор анонимного массива
Конструктор анонимного ассоциативного массива
Другие способы
Другие способы - 2
Разыменование ссылок
Блоки в операциях разыменования ссылок
Операция разыменования "-"
Операция разыменования "-" - 2

Регулярные выражения
Язык, созданный первоначально с главной целью — облегчить обработку большого количества отчетов, просто обязан располагать развитыми средствами для работы с текстом. Напомним, что в среде UNIX, из которой вышел язык Perl, средства для обработки текстовых строк имеются в различных утилитах: sed, awk, grep, cut. Командный интерпретатор shell, также обладающий некоторыми средствами для обработки строк, позволяет организовать совместную работу этих утилит, передавая выход одной программы на вход другой через механизм, называемый конвейером

Регулярные выражения
Регулярные выражения - 2
Регулярные выражения - 3
Регулярные выражения - 4
Регулярные выражения - 5
Регулярные выражения - 6
Регулярные выражения - 7
Регулярные выражения - 8
Регулярные выражения - 9
Регулярные выражения - 10

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

Вызов подпрограммы
Локальные переменные в подпрограммах
Функция ту()
Функция lосаl ()
Передача параметров
Передача по ссылке параметров-массивов
Использование типа typeglob Первый
Когда local нельзя заменить функцией ту
Когда local нельзя заменить функцией ту - 2
Прототипы

Пакеты
Итак, пакет — это способ создания собственного изолированного пространства имен для отдельного отрезка программы. Каждый фрагмент кода Peri-программы относится к некоторому пакету. Объявление package NAMESPACE; определяет пакет NAMESPACE. Ключевое слово package является именем встроенной функции, в результате обращения к которой компилятору предписывается использовать новое пространство имен. Область действия объявления пакета определяется аналогично области видимости локальных переменных, объявленных при помощи функций ту () или local ().

Таблицы символов.
Таблицы символов. - 2
Конструктор и деструктор пакета ВEGIN и END
Автозагрузка
Библиотеки
Функция require()
Функция require() - 2
Создание и подключение библиотечного файла
Модули
Функция use ()

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

Классы и объекты
Классы и объекты - 2
Классы и объекты - 3
Методы
Конструкторы
Конструкторы - 2
Методы класса и методы объекта
Методы класса и методы объекта - 2
Вызов метода
Вызов метода - 2

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

Опции командной строки
Опции командной строки - 2
Опции командной строки - 3
Опции командной строки - 4
Отладчик Perl
Просмотр текста программы
Выполнение кода
Просмотр значений переменных
Точки останова и действия
Точки останова и действия - 2

Основные понятия
Основу "всемирной паутины" WWW составляют Web-узлы. Это компьютеры, на которых выполняется специальная программа — Web-сервер, ожидающая запроса со стороны клиента на выдачу документа. Документы сохраняются на Web-узле, как правило, в формате HTML. Клиентом Web-сервера является программа-браузер, выполняющаяся на удаленном компьютере, которая осуществляет запрос к Web-серверу, принимает запрошенный документ и отображает его на экране.

HTML-формы
Тэг FORM
Тэг FORM - 2
Тэг INPUT
Тэг INPUT - 2
Тэг INPUT - 3
Тэг INPUT - 4
Тэг INPUT - 5
Тэг INPUT - 6
Передача информации CGI-программе

Конференции
Язык Perl распространяется и развивается в глобальной сети Internet. Самые последние новости из мира Perl можно найти на многочисленных Web-узлах и просто обычных страницах HTML, авторы которых являются апологетами языка Perl и входят в так называемое сообщество Perl — свободное объединение людей, использующих и развивающих язык Perl там, где требуется что-нибудь и как-нибудь автоматизировать.

Конференции
Специализированные Web-узлы Perl
Архив СРАМ
Архив СРАМ - 2

Создание серверных приложений на языке PERL

Это учебное пособие написано для того чтобы помочь Вам самостоятельно изучить язык Perl и представляет собой своего рода выжимку из многих электронных и бумажных изданий подобного рода. Пройдя его Вы изучите все необходимые для разработки собственных приложений операторы и функции, узнаете об их специфических особенностях. В рамках этого курса мы будем рассматривать Perl только как язык написания CGI-сценариев. Чтобы ускоренное изучение Perl не вызывало у Вас никаких затруднений, Вы должны обладать определенным набором знаний в области создания HTML документов. Вы должны хорошо знать HTML тэги, работать с таблицами и каскадными таблицами стилей (CSS). Помимо этого вы должны иметь хотя бы начальные знания в области языков программирования высокого уровня (Pascal, Basic, Delphi, C, JavaScript и т.д.). А если Вы уже знаете PHP, то получите ни с чем не сравнимое удовольствие от изучения Perl по ускоренному курсу.

Получение данных методом GET
HTML формы функция ParseForm метод POST
Поле для ввода пароля
Скрытое поле
Переключатель
Радиокнопка
Список
Область многострочного редактирования
Метод POST
Оператор Print хеши

Финансы предприятий нац. экономики - перейти
Экономика России - перейти
ВВП- важнейший показатель экономики РФ - перейти
Управление экономикой в России - перейти
Эконом. субъекты постсоветской России - перейти
Экономика и общество - перейти
Экономическое развитие общества - перейти
Экономические теории и цели общества - перейти
Выбор элементов - перейти
Rubberband line (резиновая линия) - перейти
Import - перейти
Tolerance - перейти
Самоучитель по OrCAD - перейти
Введение - перейти
Состав системы OrCAD - перейти