Пример perl6-клиента веб-сервиса

Веб-сервисы (или XML-веб-сервисы) — это службы, позволяющие автоматически обмениваться данными с удаленными серверами. Соответственно, взаимодействуют две стороны — клиент и сервер. Одно из многочисленных удобств веб-сервисов в том, что как серверное, так и клиентское ПО могут быть написаны на любых языках, лишь бы соблюдался установленный протокол (обычно это SOAP). Читать далее «Пример perl6-клиента веб-сервиса»

zip — объединение списков

Оператор zip объединяет несколько списков в один, последовательно отбирая из каждого из них сначала первые элементы, затем вторые и так далее.

Например, если один массив содержит прописные буквы A и B, а другой — строчные a, b, результирующий массив будет содержать последовательность A, a, B, b. Читать далее «zip — объединение списков»

Компилятор Perl 6

Первый компилятор Perl 6 входил в состав дистрибутива Parrot и был написан на Perl 5. Нынешние версии Parrot до сих пор содержат каталог languages/perl6, однако воспользоваться этим компилятором уже не удастся (хотя нормально компилируется сам) — компилятор не развивается и не поддерживается с июня прошлого года. Читать далее «Компилятор Perl 6»

Еще раз о печати массива

Чтобы вывести на печать содержимое массива, можно интерполировать его значение: say «@array[]»;, либо сказать непосредственно say @array; (но в этом случае элементы не будут разделены пробелами).

Если же поставить оператор ~ перед именем массива (а это означает переключение в строковый контекст), то вывод будет аналогичен тому, что получается при интерполяции: Читать далее «Еще раз о печати массива»

Гипероператоры — 1

В Perl 6 появились так называемые гипероператоры, которые выполняют действия над составными операндами, например, массивами.

Внешне гипероператоры выглядят слегка перегруженными (есть мнение, что они напоминают ASCII-графику). Читать далее «Гипероператоры — 1»

Компиляторы и интерпретаторы

Сегодня попробовать Perl 6 намного проще, чем это было год-два назад. Вот какие инструменты разработки мы имеем на сегодня.

Parrot — независимый от языка интерпретатор байт-кода. Интерпретатор Perl 6, базирующийся на Parrot’е, транслирует код Perl 6 в код на ассемблере Parrot (современные трансляторы используют более высокоуровневый промежуточный IMCC-код). Читать далее «Компиляторы и интерпретаторы»

Регулярные выражения — 2. Группирующие скобки

Правила регулярных выражений, применяемые в предыдущих версиях Perl допускали наличие круглых скобок, но трактовали их либо как сохраняющие, либо как исключительно группирующие в зависимости от наличия непосредственно после открывающей скобки модификатора ? Читать далее «Регулярные выражения — 2. Группирующие скобки»