Perl 6 has several compilers and interpreters, and none is called "official Perl 6". Larry Wall has explained that anything that passes the test suite, is Perl 6. So far only partial implementations have been made, as listed below. With their feedback, the Synopses that form the language specification are evolving, and so is the test suite.

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

Pugs was the leading implementation from 2005 until about 2007. It runs on GHC Haskell and helped to develope the test suite.

STD.pm is "the" canonical Perl 6 grammar, written in a subset of Perl 6. Unfortunately no implementation can fully parse STD.pm yet, let alone build a compiler or interpreter based on it. However, by means of the "viv" tool described next, Perl 6 source code can be parsed by a near equivalent running in Perl 5.

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.

SMOP is Simple Meta Object Protocol, a C based interpreter (runloop) that executes, what different compiler (like Mildew) produce.

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 future Sprixel will probably be written in C# and will run on Mono and the .NET Framework. It will include its own regex engine and Perl 6 grammar parser.

NQP "Not Quite Perl" (NQP) is not really a Perl 6 implementation, even though it uses Perl 6 syntax. NQP is a tool to help write compilers and libraries for Parrot, and is not really intended as a complete end-user programming language. It uses only limited forms of Perl 6 syntax and also regular expressions and provides only native Parrot runtime support (i.e., no specialized Perl 6 libraries or functions).