Веб-сервисы (или XML-веб-сервисы) — это службы, позволяющие автоматически обмениваться данными с удаленными серверами. Соответственно, взаимодействуют две стороны — клиент и сервер. Одно из многочисленных удобств веб-сервисов в том, что как серверное, так и клиентское ПО могут быть написаны на любых языках, лишь бы соблюдался установленный протокол (обычно это SOAP). Читать далее «Пример perl6-клиента веб-сервиса»
zip — объединение списков
Оператор zip объединяет несколько списков в один, последовательно отбирая из каждого из них сначала первые элементы, затем вторые и так далее.
Например, если один массив содержит прописные буквы A и B, а другой — строчные a, b, результирующий массив будет содержать последовательность A, a, B, b. Читать далее «zip — объединение списков»
Junctions — 2. None
Помимо объединения any существуют еще три: all, one и none. Их смысл понятен из названия. Читать далее «Junctions — 2. None»
Интерполирование переменных
Строковые константы, содержащие ссылки на переменные, определенные в программе, интерполируют их значения. (И считать такие строки константами можно лишь условно). Читать далее «Интерполирование переменных»
Компилятор Perl 6
Первый компилятор Perl 6 входил в состав дистрибутива Parrot и был написан на Perl 5. Нынешние версии Parrot до сих пор содержат каталог languages/perl6, однако воспользоваться этим компилятором уже не удастся (хотя нормально компилируется сам) — компилятор не развивается и не поддерживается с июня прошлого года. Читать далее «Компилятор Perl 6»
Еще раз о печати массива
Чтобы вывести на печать содержимое массива, можно интерполировать его значение: say «@array[]»;, либо сказать непосредственно say @array; (но в этом случае элементы не будут разделены пробелами).
Если же поставить оператор ~ перед именем массива (а это означает переключение в строковый контекст), то вывод будет аналогичен тому, что получается при интерполяции: Читать далее «Еще раз о печати массива»
Гипероператоры — 1
В Perl 6 появились так называемые гипероператоры, которые выполняют действия над составными операндами, например, массивами.
Внешне гипероператоры выглядят слегка перегруженными (есть мнение, что они напоминают ASCII-графику). Читать далее «Гипероператоры — 1»
Книги о Perl 6
Первая книга, написанная уже довольно давно — Perl 6 Essentials, претерпела второе издание, сменив одновременно и название: Perl 6 and Parrot Essentials. Авторы — Allison Randal, Dan Sugalski и Leopold Tötsch. Читать далее «Книги о Perl 6»
Компиляторы и интерпретаторы
Сегодня попробовать Perl 6 намного проще, чем это было год-два назад. Вот какие инструменты разработки мы имеем на сегодня.
Parrot — независимый от языка интерпретатор байт-кода. Интерпретатор Perl 6, базирующийся на Parrot’е, транслирует код Perl 6 в код на ассемблере Parrot (современные трансляторы используют более высокоуровневый промежуточный IMCC-код). Читать далее «Компиляторы и интерпретаторы»
Регулярные выражения — 2. Группирующие скобки
Правила регулярных выражений, применяемые в предыдущих версиях Perl допускали наличие круглых скобок, но трактовали их либо как сохраняющие, либо как исключительно группирующие в зависимости от наличия непосредственно после открывающей скобки модификатора ? Читать далее «Регулярные выражения — 2. Группирующие скобки»