There is no official or reference Perl 6 implementation, as exists with Perl 5. Instead, there is a language specification that began with Apocalypses and evolved through Exegeses and Synopses. There is also a test suite. The Synopses and test suite continuously evolve together with several compilers and interpreters. Larry Wall has clarified that anything that passes the test suite is Perl 6. With their feedback, the Synopses and test suite that form the language specification are evolving. This page is about the various partial implementations that exist, which can parse and execute Perl 6. Virtual machines and runloops are excluded because they do not deal with Perl 6 source code.

Rakudo is currently the most feature-rich and most actively developed implementation. It runs on Parrot, a virtual machine for many dynamic languages.

Niecza is currently the fastest implementation, the active development is lead by Stefan O'Rear.

viv is a derivation of STD.pm for testing and bootstrapping purposes. A utility called "gimme5" creates viv by translating STD.pm into Perl 5. This is possible because Larry very carefully wrote STD.pm in a translatable subset of Perl 6.

Mildew is a Perl 5 based compiler that embeds viv, and can emit code for several runtime engines, including JavaScript and SMOP.

Sprixel started out with viv as the source code parser and Google's V8 JavaScript engine as a runtime interpreter. Currently Sprixel is undergoing a complete rewrite. The new version is being in C# and will probably run on both Mono and the .NET Framework. It will include its own regex engine and Perl 6 grammar parser.