Язык программирования Perl
Язык программирования Perl читать книгу онлайн
Курс знакомит с языком программирования Perl, с его принципами, основными возможностями и особенностями в объёме, достаточном, чтобы начать разрабатывать прикладные и системные задачи, включая программирование для сети Интернет.
Курс является достаточно подробным введением в язык программирования Perl. Описывается уникальная культура Perl и особенности, отличающие его от других языков программирования и во многом обусловившие его популярность. Рассматриваются основные средства программирования на языке Perl версии 5.8. Разбираются богатые возможности языка для создания самых разных приложений, а также особый стиль программирования на Perl. Курс ориентирован на студентов, начинающих программистов или разработчиков, применяющих другие языки и желающих писать прикладные или системные программы на Perl.
Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних чтение данного контента СТРОГО ЗАПРЕЩЕНО! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту [email protected] для удаления материала
sub bar { # подпрограмма вывода одной строки графика,
# которой передаются координаты, цвет, % и заголовок
my ($x, $y, $color, $procent, $caption) = @_;
# выводим прямоугольник пропорционально проценту
$svg->rectangle(
x => $x, y => $y,
height => 30, width => $procent*10,
style => "opacity:1; fill:$color; fill-opacity:0.4"
);
# и пояснительный текст указанного цвета
$svg->text(
x=>$x+5,y=>$y+20,style=>"font-size:15;fill:$color"
)->cdata("$caption $procent %");
}
SVG-документ, сформированный в результате выполнения этой программы, - это текстовый файл в формате XML, который выглядит следующим образом:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg height="300" width="400">
<text style="font-size:15;fill:blue" x="32" y="32">
Ïîñåùàåìîñòü
ñàéòà:
ðàñïðåäåëåíèå
ïî äîìåíàì
</text>
<rect height="30" width="550" x="20" y="50"
style="opacity:1; fill:red; fill-opacity:0.4" />
<text style="font-size:15;fill:red" x="25" y="70">
.RU 55 %
</text>
<rect height="30" width="240" x="20" y="80"
style="opacity:1; fill:blue; fill-opacity:0.4" />
<text style="font-size:15;fill:blue" x="25" y="100">
.COM 24 %
</text>
<rect height="30" width="120" x="20" y="110"
style="opacity:1; fill:green; fill-opacity:0.4" />
<text style="font-size:15;fill:green" x="25" y="130">
.ORG 12 %
</text>
<rect height="30" width="90" x="20" y="140"
style="opacity:1; fill:black; fill-opacity:0.4" />
<text style="font-size:15;fill:black" x="25" y="160">
ïðî÷èå 9 %
</text>
<text x="12" y="200">
Perl 5.008007 + SVG.pm 2.33 + CGI.pm 3.10
</text>
<!--
Generated using the Perl SVG Module V2.33
by Ronan Oger
Info: http://www.roasp.com/
-->
</svg>
Зная синтаксис описания SVG-графики, можно сформировать подобный документ c помощью одного из модулей Perl, генерирующих документы XML. Библиотека SVG лишь предоставляет для этого наиболее удобные средства. Если нет под рукою нужных модулей, можно даже создавать любые документы XML на чистом Perl. Текстовое представление, понятное человеку и легкое для обработки, стало одним из преимуществ XML по сравнению с применявшимися ранее двоичными форматами. На рис. 18.3 показано, как сформированный в программе SVG-документ выглядит в окне браузера в виде векторного изображения.
Рис. 18.3.Динамически сформированная SVG-графика
Первоначальное использование WWW только для доставки информации человеку постепенно сменяется использованием Всемирной Паутины для программного взаимодействия между информационными системами. Новым применением WWW стало использование ее в качестве пространства для распределенного компонентного программирования. В соответствии с этим подходом распределенные приложения строятся на основе сервис-ориентированной архитектуры. Для обращения к сетевым программным компонентам, называемым web-сервисами, используется протокол SOAP (Simple Object Access Protocol). Поскольку SOAP основан на стандарте XML, то он не зависит от используемого языка программирования и операционной системы. Данные передаются в виде текстовых сообщений в формате XML, поэтому могут передаваться с помощью неспециализированных протоколов, например, HTTP или SMTP. Чтобы правильно обратиться к web-службе, нужно знать ее интерфейс. Для описания методов, предоставляемых web-сервисами, и состава передаваемых данных создан язык описания web-сервисов WSDL (Web Services Description Language). А для хранения описаний web-сервисов в специальных реестрах и их поиска разработана система описания, обнаружения и интеграции UDDI (Universal Description, Discovery and Integration).
Среди средств, имеющихся в Perl для работы с web-сервисами, библиотека SOAP::Lite выделяется удобством использования и полнотой реализации необходимых протоколов. На простом примере покажем, насколько легко создать web-службу с ее помощью. Для начала напишем класс, который будет выполняться на сервере и предоставлять свои методы в виде web-сервисов. Это самый обычный класс: