Perl 6 is a new language.
Perl 5 and Perl 6 are two languages in the Perl family, but of different lineages. If you are looking for production ready code please use Perl 5.
Perl 6The Perl 6 site has further information about how to find out more or contribute to Perl 6's development. |
RakudoRakudo, a Perl 6 compiler based on Parrot, allows compilation to bytecode, and a small wrapper exists that can pack up a bytecode file and parrot into a single executable. Rakudo is mature enough that you can play with it today, and provide valuable feedback to both the implementers and the language designers. |
Find out more
- Read the assembled Perl 6 blogs
- Visit the Perl6 Wiki
History of this project
The project attempts to address the interpreter, the language, and the culture. The internals of the version 5 interpreter are so tangled that they hinder maintenance, thwart some new feature efforts, and scare off potential internals hackers. The language as of version 5 has some misfeatures that are a hassle to ongoing maintenance of the interpreter and of programs written in Perl. And finally, the entire Perl community is invited to participate in the design and implementation of Perl 6.
"Perl 5 was my rewrite of Perl. I want Perl 6 to be the community's rewrite of Perl and of the community."
"The Perl 6 design process is about keeping what works in Perl 5, fixing what doesn't, and adding what's missing. That means there will be a few fundamental changes to the language, a large number of extensions to existing features, and a handful of completely new ideas. These modifications, enhancements, and innovations will work together to make the future Perl even more insanely great -- without, we hope, making it even more greatly insane."
The vision for Perl 6 is more than simply a rewrite of Perl 5. By separating the parsing from the compilation and the runtime, we're opening the doors for multiple languages to cooperate. You'll be able to write your program in Perl 6, Perl 5, TCL, Python, or any other language that there's a parser written for. Interchangable runtime engines let you interpret your bytecode or convert it to something else (e.g., Java, C, or even back to Perl).



