Official Perl 6 Documentation

The Synopsis documents are to be taken as the formal specification for Perl 6 implementations, while still being reference documentation for Perl 6, like Programming Perl is for Perl 5. Note that while these documents are considered ``formal specifications'', they are still being subjected to the rigors of cross-examination through implementation. In other words, they may change slightly or radically. But the expectation is that they are ``very close'' to the final shape of Perl 6.

However, this HTML version of Synopses is slightly different in that it contains code snippets from the Pugs test suite. In other words, We have divided the .t files in the test suite into pieces and inserted every resulting snippet after the corresponding paragraph of the Synopses. Furthermore, the embedded tests are also marked by and × according to the results of daily auto-smoking on feather. The job is done by the Perl 5 script util/smartlinks.pl living in the Pugs source tree.

All the web pages for Synopses listed below are updated every one hour with the latest Synopses and Pugs test suite from their respective SVN repositories.

When we say ``S05'', we mean ``spec'' as well as ``synopsis''.

While the Apocalypses and Exegeses are linked here for reference, note that the Synopses are kept very much more up-to-date and are the primary recommended reference.

(Specification)         (Syn pod) (Justification) (Explanation)
1 Overview Synopsis Overview.pod Apocalypse
2 Bits and Pieces Synopsis Syntax.pod Apocalypse Exegesis
3 Summary of Perl 6 Operators     Synopsis Operator.pod Apocalypse Exegesis
4 Blocks and Statements Synopsis Block.pod Apocalypse Exegesis
5 Regexes and Rules Synopsis Rule.pod Apocalypse Exegesis
6 Subroutines Synopsis Subroutine.pod Apocalypse Exegesis
7 Formats (Deprecated, now external) Apocalypse Exegesis
8 References (Deprecated, use Captures)
9 Data Structures Synopsis Structure.pod
10 Packages Synopsis Package.pod
11 Modules Synopsis Module.pod
12 Objects Synopsis Object.pod Apocalypse
13 Overloading Synopsis Overload.pod
14 Tied variables (Deprecated, use implementation types)
15Unicode(TBD)
16 IPC / IO / Signals [DRAFT] Synopsis IO.pod
17 Concurrency [DRAFT] Concurrency.pod
18Compiling(TBD)
19Command line interface(TBD)
20Debugger(Draft)
21Internals and externals(TBD)
22 CPAN [DRAFT] CPAN.pod
23Security(TBD)
24Common practices(TBD)
25Portable perl(TBD)
26 Documentation Synopsis Documentation.pod
27Perl culture(Draft)
28Special names(Draft)
29 Builtin Functions [DRAFT] Synopsis Functions.pod
30Standard perl library(TBD)
31Pragmatic modules(TBD)
32Standard modules(TBD)
33Diagnostic messages(TBD)

DRAFT specifications

The few draft PODs here should probably be cleaned up into Spec-like formats and moved to Perl6::Spec space.

Frequently Asked Questions

Differences from Perl 5

The Differences document is stored in docs/Perl6/Perl5/Differences.pod in the pugs repository, if you'd like to make updates to it. Your changes will automatically appear on feather in less than 1 hour.

Perl6 Cookbooks

Example Code

Many more examples of Perl6 code are available.

About this page

The page you're currently looking at lives in the Pugs repo as docs/feather/syn_index.html, and is resync'd every 1 hour.