Perl 6-й версии -- совсем другой язык. Чтобы начать изучать его, не нужно предварительно учить Perl 5. Про новый язык начали говорить в 2000 году, тогда же стали появляться документы, описывающие дизайн нового языка. В этой небольшой статье я расскажу немного о Perl 6, и о том как запускать скрипты написанные на 6-ке под windows.
Отправная точка -- набор трех серий документов: Apocalypses, Exegeses и Synopses (все они доступны на сайте perl.org). В первой серии, написанной Ларри Уоллом, собраны основные идеи, которые присылали пользователи-программисты, и мнение автора языка. Apocalypses на сегодня следует считать историческим документом. Серия Synopses фактически является документацией по языку Perl 6.
Переход на новую версию -- не причина для паники. Несколько лет назад многие испытывали трудности при переходе от четвертой версии к пятой. Сегодня про эти времена вспоминают совсем нечасто, а молодые программисты даже не знают, что были сложности.
Программы на Perl 6 компилируются в байт-код. С самого начала разработки языка была принята идеология, согласно которой любая программа предварительно компилируется в байт-код, а затем исполняется виртуальной машиной. Название скрипт формально неприменимо к исходным текстам на Perl 6, хотя по-прежнему допустимо делать однострочные программы, которые будут выполняться налету.
«Родная» виртуальная машина шестой версии перла называется Parrot (www.parrotcode.org); она способна выполнять байт-код, скомпилированный из программ на других языках. Дистрибутив содержит экспериментальные версии компиляторов более чем десятка языков.
Сегодня для изучения Perl 6 удобно пользоваться компилятором Pugs (www.pugscode.org), в котором спецификация реализована наиболее полно, хотя и отсутствует возможность получить байт-код.
Начать экспериментировать с написанием программ на Perl 6 под Windows можно уже сегодня.
Для этого достаточно скачать компилятор Pugs. Если у вас уже установлен ActivePerl 5, то просто распакуйте содержимое архива с Pugs в папку к примеру C:\Pugs, и запустите файл pugs.exe.
![]()
Запустится интерактивный интерпретатор perl 6, через командную строку которого можно выполнять код perl 6. Но думаю это не очень интересная забава, поэтому сразу перейдем к написанию perl6 скриптов. Для удобства пропишем путь к pugs.exe в переменные среды, чтобы удобно выполнять наши скрипты perl6 из любого места (для этого изменим переменную PATH дописав путь к pugs.exe)
Напишем простенький скрипт test.v6 демонстрирующий некоторые новые возможности perl 6:
my @array=1,2,3;
say "@array[]";
my %drinks =
France => 'Wine',
Bavaria => 'Beer',
USA => 'Coke';
say "France like ", %drinks{'France'};
%drinks.delete('France');# in perl 5 delete $drinks{'France'}
my $var=@array.elems;
say $var;
say $var // %drinks{'USA'};
}
И запустим его:
pugs test.v6
Получим:
d:\Документы\Code\PERL6>pugs test.v6
1 2 3
France like Wine
3
3
Пару замечаний: pugs не поддерживает комментарии на русском, поэтому если вы откоментируете скрипт на русском, при исполнении получите примерно это:
decodeUTF8': bad data: '\226'
decodeUTF8': bad data: '\251'
decodeUTF8': bad data: '\226'
decodeUTF8': bad data: '\238'
О прочих интересных возможностях Perl 6 можно почитать здесь: http://www.programmersheaven.com/2/Perl6-FAQ
Или на русском (небольшая статья):
http://perl6.ru/articles/5to6basictypes/



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