What is Perl 6 to Perl?

From time to time, people I meet ask me if they should learn Perl 6 since that is the "latest" Perl. For the most part, they have not written a line of Perl in their lives. They also ask me how Perl 6 relates to Perl.

I think everyone should at least dabble in a variety of languages, and I would be the last person to dissuade someone from learning a new language. However, I do think one would benefit more from learning Perl instead. After all, the installed base must be growing pretty well. Without realizing, a lot of people have installed a recent (I think most are 5.24) MinGW based Perl distribution on their Windows machines when they installed Git for Windows either alongside their Visual Studio or VS Code installation. They can open the gates to pure Perl magic with minimal effort. I am going to guess that there are more Windows machines with a decent Perl distribution installed now than ever.

That aside, during one of these conversations, I was asked about what Perl 6 is to Perl. For example, "is it an upgrade?" "Does it run existing Perl code?"

Earlier, I had been suckered into accepting the "sister language" narrative. Then, briefly, I thought Perl 6 was trying to be the Borg. Just a couple of days ago, it dawned on me: Perl is Omar Khayyam and Perl 6 is Hassan Sabbah. If you haven't heard these names before, the legends have been fictionalized in Western media in books such as Samarkand, Alamut, and in the movie The Keeper: The Legend of Omar Khayyam.

This may not make sense to anyone else, but I am happy to finally have been able to categorize them.

You can discuss this post on r/perl.

PS: Understanding the juxtaposition of Khayyam and Sabbah will improve your understanding of the world today as well. It might even help you understand Mevlânâ.

PPS: I am not a fan of Fitzgerald's translation. Don't get me wrong, it's great work, and has the exact right ring IF you can get yourself in a particularly heavy Victorian mood, but these days the original meaning is easily lost to a reader who is not familiar with Victorian literature. Luckily, the Internet Archive provides Edward Heron-Allen's translation of Khayyam's Rubaiyat:


In a thousand places on the road I walk, Thou placest snares.
Thou sayest, “I will catch thee if thou placest step in them”;
in no smallest thing is the world independent of Thee,
Thou orderest all things, and callest me rebellious.

PPPS: I you really want to learn Perl 6, you should take a look at brian's book. I have been following him work his way through the various gotchas and design flaws of Perl 6 so you don't have to. But, I am afraid Perl 6 is too full of those to gain widespread adoption.