Skip to Content
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●Pandas
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●Domain-Driven Design
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
book
Perl 6 Essentials
June 2003
Intermediate to advanced
208 pages
8h 40m
English
O'Reilly Media, Inc.
Read now
Unlock full access
Contents
●
How This Book Is Organized
The Birth of Perl 6
Language DesignRequests for comments (RFCs)Apocalypses and ExegesesThe p6l mailing listInternalsDocumentationSupporting Structure
Language DevelopmentDevelopment CyclesGetting Involved
Development CyclesGetting InvolvedUse the sourcePatch submissionBug tracking
Linguistic and Cognitive ConsiderationsThe Waterbed Theory of ComplexityThe Principle of SimplicityThe Principle of AdaptabilityThe Principle of ProminenceThe Principle of End WeightThe Principle of ContextThe Principle of DWIMThe Principle of ReuseThe Principle of DistinctionLanguage Cannot Be Separated from CultureThe Principle of FreedomThe Principle of Borrowing
Perl Should Stay PerlTrue to the original purposeFamiliarityTranslatableImportant New FeaturesLong-Term Usability
VariablesScalarsArraysHashesReferencesVariables and ContextScalar contextList contextHashlist contextProperties and TraitsTypes
Assignment and BindingArithmetic OperatorsString OperatorsComparisonLogical OperatorsContext Forcing OperatorsBitwise OperatorsConditionalVector OperatorsJunctionsSmart MatchMatching scalarsMatching listsMatching arraysMatching hashesMatching junctionsMatching objectsMatching subroutinesReferencing (or Not)Zip Operator
SelectionThe if statementThe unless statementThe switch statementIterationThe while loopThe simple loopThe for loopBreaking out of loopsBlocksmy, our, temp, and letProperty blocksExceptions
Formal ParametersNamed parameter passingMultimethodsLexical ScopeAnonymous SubroutinesPlaceholder VariablesCurrying
AttributesMethodsInheritanceLexically Scoped ClassesAnonymous ClassesSubroutines in Classes
Basic Rule SyntaxBuilding BlocksModifiersAssertionsBuilt-in RulesBacktracking ControlHypothetical VariablesGrammars
Core Design Principles
ParserCompilerOptimizerInterpreterBytecode Loader
RegistersStacksStringsVariablesBytecode
I/OEventsSignalsThreads
Generic Object InterfacingParrot ObjectsParrot ClassesMixed Class-Type Support
Garbage CollectionSignature-Based DispatchingContinuationsCoroutines
Getting Started
ConstantsWorking with RegistersRegister assignmentPMC object typesType morphingMath OperationsUnary math opcodesBinary math opcodesFloating-point operationsWorking with StringsConcatenating stringsRepeating stringsLength of a stringSubstringsChopping stringsCopying stringsConverting charactersFormatting stringsTesting for substringsI/O OperationsOpen and close a fileOutput operationsReading from filesLogical and Bitwise Operations
AggregatesArraysHashesData structuresPMC AssignmentProperties
Conditional BranchesIteration
User StackControl StackInteger StackRegister Frames
GlobalsLexicalsBasic instructionsNested scratchpads
Calling ConventionsReserved registersCallee savesParrot calling conventionsNative Call InterfaceClosuresCoroutinesContinuationsEvaluating a Code String
Getting Started
StatementsCommentsVariables and ConstantsPASM registersTemporary registersNamed variablesParrot classesNamed constantsRegister spillingSymbol OperatorsLabelsCompilation UnitsScope and Namespaces
Stack-Based Subroutine CallsParrot Calling ConventionsPASM Subroutines
General UsageAssembler OptionsBytecode Interpreter Options
DirectivesInstructions
Overview
Perl 6 Essentials is a sneak-preview of Perl 6, the
widely-anticipated rewrite of the Perl programming language. Still
in development, the Perl 6 project is a community-based effort to
keep Perl vibrant well into the 21st century. This book covers the
development not only of Perl 6 syntax but also Parrot, the
language-independent interpreter developed as part of the Perl 6
design strategy. Although Perl remains a vibrant language with a
fiercely loyal following, it has undergone many changes to keep up
with new technologies and applications that were not anticipated
when Perl was first introduced in 1987. Through its community-based
development model, Perl has kept up with changing times and
remained fresh when other languages might have stagnated.
Internally, however, there have remained kinks and stumbling blocks
that developers have needed to sidestep, long-abandoned features
that have been maintained only for backwards compatibility,
misdirected phrasings that have hindered more intuitive syntax
structures, and a cacophony of modules that sometimes work well
together, but occasionally don't. Perl continues to have a strong
following devoted to its development, but in the meantime, a group
of core Perl developers have begun working on Perl 6, a complete
rewrite of the Perl language. While Perl's creative philosophy and
common-sense syntax are sure to remain in Perl 6, everything else
in the language is being re-examined and recreated. Perl 6
Essentials provides an overview of the current state of Perl 6
for those who await its release. Written by members of the Perl 6
core development team, the book offers an explanation of the
various stages of the project, with reference material for
programmers who are interested in what changes are planned or who
may want to contribute to the project. The book will satisfy their
curiosity and show how changes in the language will make it more
powerful and easier to use. Perl 6 Essentials is the first
book that offers a peek into the next major version of the Perl
language. This book is essential reading for anyone interested in
the future of Perl.
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access
You might also like
Perl 6 Deep Dive
Andrew Shitov
Learning Perl 6
brian d foy
Perl Best Practices
Damian Conway
Think Perl 6
Laurent Rosenfeld, Allen B. Downey
Publisher Resources
ISBN: 0596004990
Follow us
●Teach/Write/Train
●Careers
●O'Reilly News
●Media Coverage
●Community Partners
●Affiliate Program
●Submit an RFP
●Diversity
●Content Sponsorship
●Contact Us
●Newsletters
●Privacy Policy
●AI Policy
●Australia & New Zealand
●Japan
Take O'Reilly with you and learn anywhere, anytime on your phone and tablet.
View all O'Reilly videos, virtual conferences, and live events on your home TV.
.
© 2025, O'Reilly Media, Inc. All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
●Terms of Service
●Privacy Policy
●Editorial Independence
●Modern Slavery Act Statement