Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Title Page Copyright
Perl 6 Deep Dive
Credits About the Author Acknowledgements About the Reviewer www.PacktPub.com
Why subscribe?
Customer Feedback Preface
What this book covers  What you need for this book  Who this book is for  Conventions  Reader feedback Customer support
Downloading the example code  Errata Piracy Questions
What is Perl 6?
Origins of Perl 6 Differences from Perl 5
Sigils Signatures Classes Compatibility with Perl 5
Perl 6 resources
Documentation Test Suite STD.pm Community
Compilers
Parrot Pugs Perlito Rakudo
Working with Rakudo Star
Downloading and installing Rakudo Star Command-line options
The -c command The --doc command The -e command The -h and --help commands The -n command The -p command The -I  and -M commands The -v and --version command The --stagestats command
Writing our Hello World program Summary
Writing Code
Using Unicode Whitespaces and unspaces Comments
One-line comments Multiline comments Embedded comments
Creating Pod documentation
The =begin / =end Pod block
Phasers Simple input and output Summary
Working with Variables and Built-in Data Types
Using variables
Declaring variables Variable containers in Perl 6
Scalars Arrays
Methods of the Array type
Hashes
Methods of the Hash class
Naming conventions Typed variables
Using simple built-in data types
Integer data type
Methods of the Int type
Converting to a character using the chr method Checking whether the number is prime Generating a random number Getting the sign of the value Calculating the square root of the value Getting the next and previous values Getting the absolute value
Rational data type
Methods of the Rat type
Getting the Perl representation of the value Converting to an Int value Getting  the numerator and denominator Methods for rounding the value Methods pred and succ
Numeric data type
Num versus Numeric versus Real
Enumerations Boolean data type
Methods of the Bool type
Using pred and succ Methods to generate random Boolean values
String data type
Methods of the Str class
Converting register Methods to cut strings Methods to check the content of a string Length of the string Reversing a string
Complex numbers
Methods of the Complex data type
Getting real and imaginary parts
Data types to manipulate date and time
Using the Date class Using the DateTime data type
Summary
Working with Operators
Operator classification
Categories of operators Operators as functions
Operators in Perl 6
Infix operators
Assignment operators Operators for multiplication and division Operators for addition and subtraction Modulo operator Divisibility operator Integer division and modulo operators Bitwise operators Integer shift operators String logical operators Boolean logical operators Great common divisor and least common multiple operators String repetition operator List repetition operator String concatenation operator Junction operators The does operator The but operator Universal comparison operator String comparison operator leg Comparison operator for Real numbers Range creating operator Equality and non-equality operators Numerical comparison operators String comparison operators eq and ne Other string comparison operators The before and after operators Equivalency test operator Value identity operator Bound check operator Smartmatch operator Approximate-equality operator Boolean logical operators Defined-or operator Operators for minimum and maximum Pair creation operator Comma operator Invocant separator Zip operator Cross operator Sequence operator Binding operators Logical operator with lower precedence Data pipe operators
Ternary operator  ?? !! Prefix operators
Increment and decrement operators ++ and -- Boolean coercion operator Boolean negation operator Numeric coercion operator Numeric negation operator String coercion operator Two-complement binary negation operator Boolean coercion and negation operator The upto operator The temp operator The let operator The not operator The so operator
Postfix operators
Object-oriented postfix operators Increment and decrement operators
Circumfix operators
Quote-word operator Group operator Hash or block creation operator
Postcircumfix operators
Positional access operator Element access operators Invoke operator 
Meta-operators in Perl 6
Assignment meta-operator Negation meta-operator Reverse meta-operator Reduction meta-operator Cross meta-operator Zip meta-operator Hyper-operators
User-defined operators Summary
Control Flow
Understanding code blocks and variable scoping
The do keyword
Conditional checks Using loops
The loop cycle The for loop Using while, until, and repeat Breaking the loop
Using labels
Executing code once Collecting data with gather and take Setting the topic with given Summary
Subroutines
Creating and calling subroutines
Default values Optional parameters Named parameters Parameter traits Slurpy parameters Parameter placeholders
Type constraints
Typed parameters Return type
Multi subs
An example
Nested subroutines Creating operators Passing functions as arguments Anonymous subs Summary
Modules
Creating a module Using modules
The need keyword The import keyword  The use keyword The require keyword Scoping More on is export
Exporting variables Selective import
Introspection Using zef
Installing a module Searching for a module Uninstalling modules zef command summary How Rakudo stores modules
Summary
Object-Oriented Programming
Creating a class Working with attributes
Read-and-write attributes Typed attributes Using other classes as data types
Working with methods
Private methods
More about attributes
Public and private attributes Automatic getters and setters Class attributes
Class methods Inheritance
Inheriting from a class Using child class instances as objects of a base class Overriding methods Submethods Multiple inheritance
Appending objects and classes using roles Using introspection to learn more Method postfix operators Summary
Input and Output
Standard input and output Working with files and directories
Opening a file Closing a file Testing file and directory properties Manipulating files Working with directories
Reading from a stream
Reading a single line Reading characters Lazy readers The eof method
Writing to a stream
The print  function The say method
Example of using the gist method
The printf method
Characters and strings Integers Floating-point numbers
Summary
Working with Exceptions
The try block
The $! variable
Soft failures The CATCH phaser The Exception object
Throwing exceptions Resuming from exceptions Typed exceptions Rethrowing exceptions
The Failure object Creating custom exceptions Summary
Regexes
Matching against regexes Literals Character classes
The . (dot) character Backslashed character classes
\s and \S characters \t and \T characters \h and \H characters \v and \V characters \n and \N characters \d and \D characters \w and \W characters
Character classes Predefined subrules Using Unicode properties Character class arithmetics
Creating repeated patterns with quantifiers
Greediness
Extracting substrings with capturing
Capturing groups The Match object Named captures
Using alternations in regexes Positioning regexes with anchors
Matching at the start and at the end of lines or strings Matching word boundaries
Looking forward and backward with assertions Modifying regexes with adverbs
:i (:ignorecase) :s (:sigspace) :p (:pos) :g (:global) :c (:continue)  :r (:ratchet) :ov (:overlap) :ex (:exhaustive)
Substitution and altering strings with regexes Summary
Grammars
Creating a grammar
Matching a grammar
Using rules and tokens Using actions Using abstract syntax tree attributes
Handling expressions
Using the actions class The whole program Summary
Concurrent Programming
Junctions
Autothreading
Threads
Starting a thread Creating and running a new thread The id and name methods Printing thread objects as a string Lifetime threads Using locks in Perl 6
Promises
Creating a promise Statuses of a promise Factory methods The result of a promise Combining promises Executing code after the promise is kept or broken The anyof and allof methods
Channels
Basic use cases To wait or not to wait? Closing channels Channels as queues
Summary
Functional Programming
What is functional programming? Using recursion Using reduction Higher-order functions and lambdas
The WhateverCode blocks
Piping data and feed operators Manipulating the scope
Closures Currying Dynamic scope
Creating and using iterators Lazy and infinite lists Summary
Reactive Programming
What is reactive programming? On-demand supplies
Generating data with supplies The react and whenever keywords Using lists as the source of the supply data
Live supplies
Filtering and transforming data streams
Summary
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion