T M
Search Page
Error ReportCollection examples

Search the Website

Table of Contents
Web page (clickable)
Chapter headings (clickable)
Raku by example 101 Pragma v6 Statements Lexical scope and block Sigils and identifiers Scalar Filehandle and assignment String literals Arrays, methods and invocants Hashes for and blocks Any and += Fat arrow, pairs and autovivification Postincrement and preincrement Topic variable Blocks Stable sort Standard output Variable interpolation Double-quoted strings and single-quoted strings Zen slices Exercises Perl to Raku guide - in a nutshell CPAN Syntax Identifiers -> Method calls Whitespace Sigils $ Scalar @ Array % Hash & Sub * Glob [] Array indexing/slicing {} Hash indexing/slicing Creating references and using them Operators , (Comma) List separator <=> cmp Three-way comparisons ~~ Smartmatch operator & | ^ String bitwise ops & | ^ Numeric bitwise ops & | ^ Boolean ops << >> Numeric shift left|right ops => Fat comma ? : Ternary operator . (Dot) String concatenation x List repetition or string repetition operator .. ... Two dots or three dots, range op or flipflop op String interpolation Compound statements Conditionals if elsif else unless given-when Loops while until do while/until for foreach each Flow control statements continue Functions Built-ins with bare blocks delete exists Regular expressions ( regex / regexp ) Change =~ and !~ to ~~ and !~~ . Captures start with 0, not 1 Move modifiers Add :P5 or :Perl5 adverb Special matchers generally fall under the <> syntax Longest token matching (LTM) displaces alternation Named captures Comments BEGIN, UNITCHECK, CHECK, INIT and END UNITCHECK becomes CHECK No block necessary Changed semantics with regards to precompilation Pragmas strict warnings autodie base, parent bigint bignum bigrat constant encoding integer lib mro utf8 vars Command-line flags -a -F -l -M -m -E -d, -dt, -d:foo, -D, etc. -s File-related operations Reading the lines of a text file into an array Capturing the standard output of executables. Environment variables Perl module library path Misc. '0' is True dump AUTOLOAD Importing specific functions from a module Importing groups of specific functions from a module Core modules Data::Dumper Getopt::Long Automated translation Blue Tiger Perlito Perl-ToPerl6 Other sources of translation knowledge Perl to Raku guide - overview Raku in a nutshell Syntactic differences Operators in Raku Functions in Raku Special variables in Raku Perl to Raku guide - functions DESCRIPTION NOTE Alphabetical listing of Perl functions Filetests abs accept alarm atan2 bind binmode bless break caller chdir chmod chomp chop chr chroot close closedir connect continue cos crypt dbm functions defined delete die do dump each eof eval evalbytes exec exists exit exp fc fcntl __FILE__ fileno flock fork formats getc getpeername getpgrp getppid getpriority get and set functions getsock* glob gmtime goto grep hex import index int ioctl join keys kill last lc lcfirst length __LINE__ link listen local localtime lock log lstat m// map mkdir msg* my next no oct open opendir ord our pack package __PACKAGE__ pipe pop pos print printf prototype push quoting rand read readdir readline readlink readpipe recv redo ref rename requires reset return reverse rewinddir rindex rmdir s/// say scalar seek seekdir select semctl semget semop send setpgrp setpriority setsockopt shift shm* shutdown sin sleep sockets sort splice split sprintf sqrt srand stat state study sub __SUB__ substr symlink syscall sys* system syswrite tell telldir tie time times tr/// truncate uc ucfirst undef unlink unpack unshift untie use utime values vec wait waitpid wantarray warn write y/// Perl to Raku guide - operators DESCRIPTION NOTE Operator precedence and associativity Terms and list operators The arrow operator Auto-increment and auto-decrement Exponentiation Symbolic unary operators Binding operators Multiplicative operators Additive operators Shift operators Named unary operators Relational operators Equality operators Smartmatch operator Bitwise And Bitwise Or and Exclusive Or C-style Logical And C-style Logical Or Logical Defined-Or Range operators Conditional operator Assignment operators Comma operator List operators (rightward) Logical Not Logical And Logical or and Exclusive Or Quote and quote-like operators I/O operators No-ops Bitwise string operators Perl to Raku guide - syntax DESCRIPTION NOTE Free form Declarations Comments Truth and falsehood Statement modifiers Compound statements Loop control For loops Foreach loops Switch statements Goto Ellipsis statement PODs: embedded documentation Perl to Raku guide - special variables DESCRIPTION NOTE SPECIAL VARIABLES General variables $ARG, $_ @ARG, @_ $LIST_SEPARATOR, $" $PROCESS_ID, $PID, $$ $PROGRAM_NAME, $0 $REAL_GROUP_ID, $GID, $( $EFFECTIVE_GROUP_ID, $EGID, $) $REAL_USER_ID, $UID, $< $EFFECTIVE_USER_ID, $EUID, $> $SUBSCRIPT_SEPARATOR, $SUBSEP, $; $a, $b %ENV $OLD_PERL_VERSION, $] $SYSTEM_FD_MAX, $^F @F @INC %INC $INPLACE_EDIT, $^I $^M $OSNAME, $^O %SIG $BASETIME, $^T $PERL_VERSION, $^V ${^WIN32_SLOPPY_STAT} $EXECUTABLE_NAME, $^X Variables related to regular expressions Performance issues $ ($1, $2, ...) $MATCH, $& ${^MATCH} $PREMATCH, $` ${^PREMATCH} $POSTMATCH, $' ${^POSTMATCH} $LAST_PAREN_MATCH, $+ $LAST_SUBMATCH_RESULT, $^N @LAST_MATCH_END, @+ %LAST_PAREN_MATCH, %+ @LAST_MATCH_START, @- %LAST_MATCH_START, %- $LAST_REGEXP_CODE_RESULT, $^R ${^RE_DEBUG_FLAGS} ${^RE_TRIE_MAXBUF} Variables related to filehandles $ARGV @ARGV ARGV ARGVOUT $OUTPUT_FIELD_SEPARATOR, $OFS, $, $INPUT_LINE_NUMBER $NR, $. $INPUT_RECORD_SEPARATOR, $RS, $/ $OUTPUT_RECORD_SEPARATOR, $ORS, $\ $OUTPUT_AUTOFLUSH, $| ${^LAST_FH} Variables related to formats Error variables Variables related to the interpreter state $COMPILING, $^C, $^D, ${^ENCODING}, ${^GLOBAL_PHASE} $^H, %^H, ${^OPEN} $PERLDB, $^P ${^TAINT} ${^UNICODE}, ${^UTF8CACHE}, ${^UTF8LOCALE} About the docs Structure Generating HTML from Pod Contributing Adding definitions Classes and objects Starting with class State Static fields? Methods Private methods Constructors Consuming our class Inheritance Overriding inherited methods Multiple inheritance The also declarator Introspection Overriding default gist method Community Overview The Raku community Online communities IRC bots Offline communities Other resources Rakudo Weekly Raku Advent calendar CompUnits and where to find them Overview Introduction Why change? Long names $*REPO Repositories Resources Dependencies Precomp stores Credit Concurrency High-level APIs Promises Supplies whenever react Transforming supplies Ending a supply Phasers in a supply or react block Channels Proc::Async Low-level APIs Threads Schedulers ThreadPoolScheduler CurrentThreadScheduler Locks Safety concerns Containers What is a variable? Scalar containers Callable containers Binding Scalar containers and listy things Assigning and binding to array variables Binding to array elements Flattening, items and containers Self-referential data Type constraints Definedness constraints Custom containers Contexts and contextualizers Sink Number String Boolean List Item context Control flow Statements Blocks Phasers do start if else/elsif unless with orwith without when for gather/take supply/emit given default and when proceed and succeed given as a statement loop while, until repeat/while, repeat/until return return-rw fail once quietly LABELs next last redo Command line interface Command line interface - an overview Parsing the command line parameters into a capture Calling a provided MAIN subroutine using that capture Creating / showing usage information if calling MAIN failed sub MAIN %*SUB-MAIN-OPTS named-anywhere bundling is hidden-from-USAGE Unit-scoped definition of MAIN sub USAGE Intercepting CLI argument parsing (2018.10, v6.d and later) sub ARGS-TO-CAPTURE Intercepting usage message generation (2018.10, v6.d and later) sub RUN-MAIN sub GENERATE-USAGE Intercepting MAIN calling (before 2018.10, v6.e) Enumeration Exceptions Ad hoc exceptions Typed exceptions Catching exceptions Exception handlers and enclosing blocks try blocks Throwing exceptions Resuming of exceptions Uncaught exceptions Control exceptions Experimental features pack macros cached FAQ General What's the difference between Raku, Rakudo and Perl 6? When was Raku released? Is there a Raku version 6.0.0? When was v6.d released? As a Raku user, what should I install? As an advanced user I want to track Rakudo development. Where can I find good documentation on Raku? Can I get some books about Raku? What is the Raku specification? Is there a glossary of Raku related terms? I'm a Perl programmer. Where is a list of differences between Perl and Raku? I'm a Ruby programmer looking for quickstart type docs? Modules Is there a CPAN (repository of third party library modules) for Raku? Is there a perldoc (command line documentation viewer) for Raku? Can I use Perl modules from Raku? Can I use C and C++ from Raku? Nativecall can't find libfoo.so and I only have libfoo.so.1.2! Where have all the traditional UNIX library functions gone? Does Rakudo have a core standard library? Is there something like B::Deparse/How can I get hold of the AST? What is precompilation? Can I have circular dependencies between modules? Common operations String: How can I parse and get a number from a string String: How can I check if a string contains a substring and if so, how can I get indices of matches String: How can I get the hexadecimal representation of a string String: How can I remove from a string some characters by index String: How can I split a string in equal parts Language features How can I dump Raku data structures (like Perl Data::Dumper and similar)? How can I get command line history in the Raku prompt (REPL)? Why is the Rakudo compiler so apologetic? What is (Any)? What is so? What are those :D and :U things in signatures? What is the --> thing in the signature? How can I extract the values from a Junction? If Str is immutable, how does s/// work? If Int is immutable, how does $i++ work? What's up with array references and automatic dereferencing? Do I need the @ sigil? Why sigils? Couldn't you do without them? "Type Str does not support associative indexing." Does Raku have coroutines? What about yield? Why can't I initialize private attributes from the new method, and how can I fix this? How and why do say, put and print differ? What's the difference between token and rule ? What's the difference between die and fail? What's the difference between Pointer and OpaquePointer? You can have colonpairs in identifiers. What's the justification? How do most people enter unicode characters? Raku implementation What Raku implementations are available? What language is Rakudo written in? What language is NQP written in? Is Raku Lisp? Can I compile my script to a standalone executable? Raku distribution When will the next version of Rakudo Star be released? Metaquestions and advocacy Why was Raku originally called Perl 6? When will Raku be ready? Is it ready now? Why should I learn Raku? What's so great about it? Is Raku fast enough for me? Functions Defining/Creating/Using functions Subroutines Blocks and lambdas Signatures Automatic signatures Arguments Return values Return type constraints Multi-dispatch proto only Conventions and idioms Slurpy conventions Functions are first-class objects Infix form Closures Routines Defining operators Precedence Associativity Traits Re-dispatching sub callsame sub callwith sub nextsame sub nextwith sub samewith sub nextcallee Wrapped routines Routines of parent class Coercion types sub MAIN Glossary Abstract class Advent calendar Adverb Adverbial pair Allomorph Anonymous API Apocalypse Arity ASCII operator Autothreading Backtracking binder block bytecode Camelia Colon pair and colon list Community Damian Conway decont diffy Exegesis fiddly Handle Huffmanize iffy import Instance Interface Invocant IRC IRC lingo ALAP autopun backlog Bot Compilation unit or compunit DWIM flap fossil FSVO FTFY gradual typing IIRC IMHO IWBN LHF LGTM LTA NST Opt PB PR P5 P6 RSN RT TIMTOWTDI TMI TMTOWTDI UGT WFM WIP WP WW Larry Wall Lexing Literal LHS lvalue Mainline Mayspec MoarVM Multi-dispatch multi-method Née NFG Niecza Not Quite Perl NQP NYI opcode Operator Parse tree Parameter Parrot PAST Perl Perl 6 PERL POD POV Propspec Pull request property pugs QAST Rakudo Reify Repository RHS roast Roles rule rvalue SAP Semilist Sigil Sigilless variable Spesh STD Stub Symbol Synopsis Syntax analysis Test suite TheDamian TimToady token Thunk Tight and loose precedence twine Type objects Type smiley value UB Value type Variable Variable interpolation Virtual machine WAT whitespace 6model Grammar tutorial Before we start Why grammars? When would I use grammars? The broad concept of grammars Getting more technical The conceptual overview The technical overview Learning by example - a REST contrivance Adding some flexibility Inheriting from a grammar Adding some constraints Putting our RESTful grammar together Grammar actions Grammars by example with actions Keeping grammars with actions tidy with make and made Add actions directly Grammars Named Regexes Rules Creating grammars Proto regexes Special tokens TOP ws sym "Always succeed" assertion Methods in grammars Dynamic variables in grammars Attributes in grammars Passing arguments into grammars Action objects Hashes and maps The associative role and associative classes Mutable hashes and immutable maps Hash assignment Hash slices Non-string keys (object hash) Constraint value types Looping over hash keys and values In place editing of values Haskell to Raku - nutshell Types Types vs values Maybe Data definitions Type aliases and subsets Typeclasses Functions Definitions and signatures Pattern Guards Argument Currying Composing Case / matching Lists List comprehensions Fold Map Ranges Laziness vs eagerness Contexts (let-in / where) Parsers Parser combinators vs grammars Tail Call Optimization or Tail Call Elimination Brief introduction Input/Output Reading from files Line by line Writing to files Copying, renaming, and removing files Checking files and directories Getting a directory listing Creating and removing directories Input/Output the definitive guide The basics Navigating paths What's an IO::Path anyway? Working with files Writing into files Writing new content Appending content Reading from files Using IO::Path Using IO::Handle The wrong way to do things Leave $*SPEC alone Stringifying IO::Path Be mindful of $*CWD temp the $*CWD Inter-process communication Running programs The Proc object The Proc::Async object Iterating The Iterator and Iterable roles How to iterate: contextualizing and topic variables Classic loops and why we do not like them JavaScript (Node.js) to Raku - nutshell Basic syntax "Hello, world!" Variables Operators Assignment Equality Smartmatching Numeric Bitwise Custom operators and operator overloading Control flow if/else switch for, while, and do/while do Types Creating types Using types Comparing JavaScript and Raku types Functions Object-oriented programming Asynchronous programming The networking API Net HTTP/HTTPS DNS Punycode The filesystem API Modules and packages Lists, sequences, and arrays Literal lists The @ sigil Reset a list container Iteration Single Argument Rule Testing for elements Sequences Using .iterator Slips Lazy lists Immutability List contexts List assignment context Flattening "context" Argument list (Capture) context Slice indexing context Range as slice Array constructor context Arrays Typing Fixed size arrays Itemization Literal arrays Mutability Assigning Binding Doing math with Raku Sets Arithmetic Sequences Mathematical constants Numerical integration of ordinary differential equations Requirements Malthus model Step by step explanation Logistic model Strong Allee Effect Weak Allee Effect Extra info Module packages What are modules? When to use modules Working with modules Modules on disk File and module naming The unit keyword What happens if I omit module? Lexical aliasing and safety Modules Creating and using modules Looking for and installing modules. Basic structure Loading and basic importing need use require Lexical module loading Exporting and selective importing is export UNIT::EXPORT::* EXPORT Introspection Finding installed modules Testing modules and a distribution Distributing modules Preparing the module Upload your module to CPAN Upload your module to zef ecosystem Upload your module to p6c Modules and tools related to module authoring Contact information Core modules CompUnit::* modules and roles NativeCall modules Other modules Module development utilities Module builder and authoring tools Tests NativeCall Sample modules Metaobject protocol (MOP) Metamethods WHAT WHICH WHO WHERE HOW WHY DEFINITE VAR Structure of the metaobject system Bootstrapping concerns Composition time and static reasoning Power and responsibility Power, convenience and pitfalls Native calling interface Getting started NativeCall helper module Changing names Passing and returning values Specifying the native representation Basic use of pointers Function pointers Arrays CArray methods CArray sub-arrays Structs CUnions Embedding CStructs and CUnions with HAS Notes on memory management In your Raku code... In your C code... Typed pointers Strings Explicit memory management Buffers and blobs Function arguments Library paths and names ABI/API version Routine Calling into the standard library Exported variables C++ support Helper functions sub nativecast sub cglobal sub nativesizeof sub explicitly-manage Examples PostgreSQL MySQL Microsoft Windows Short tutorial on calling a C function Raku native types Types with native representation Types with native representation and size The void type Atomic types Rakudo specific native types Newline handling in Raku Numerics Int Num Complex Rational Rat Degradation to Num FatRat Printing rationals Division by zero Zero-denominator rationals Allomorphs Available allomorphs Coercion of allomorphs Object identity Native numerics Available native numerics Creating native numerics Overflow/Underflow Auto-boxing Default values Native dispatch Atomic operations Numeric infectiousness Object orientation Using objects Type objects Classes Attributes Methods Class and instance methods self Private methods Submethods Inheritance Delegation Object construction Object cloning Roles Applying roles Stubs Inheritance Pecking order Automatic role punning Parameterized roles Mixins of roles Metaobject programming and introspection Opener graphemes Operators Operator precedence Operator classification Substitution operators s/// in-place substitution S/// non-destructive substitution tr/// in-place transliteration TR/// non-destructive transliteration Assignment operators Metaoperators Negated relational operators Reversed operators Hyper operators Reduction metaoperators Cross metaoperators Zip metaoperator Sequential operators Nesting of metaoperators Term precedence term < > term ( ) term { } circumfix [ ] Terms Method postfix precedence postcircumfix [ ] postcircumfix { } postcircumfix <> postcircumfix < > postcircumfix « » postcircumfix ( ) methodop . methodop .& methodop .= methodop .^ methodop .? methodop .+ methodop .* methodop ». / methodop >>. methodop .postfix / .postcircumfix methodop .: methodop .:: postfix ,= Autoincrement precedence prefix ++ prefix -- postfix ++ postfix -- Exponentiation precedence infix ** Symbolic unary precedence prefix ? prefix ! prefix + prefix - prefix ~ prefix | prefix +^ prefix ~^ prefix ?^ prefix ^ Dotty infix precedence infix .= infix . Multiplicative precedence infix * infix / infix div infix % infix %% infix mod infix +& infix +< infix +> infix ~& infix ~< infix ~> infix ?& infix gcd infix lcm Additive precedence infix + infix - infix +| infix +^ infix ~| infix ~^ infix ?^ infix ?| Replication precedence infix x infix xx Concatenation infix ~ infix o, infix ∘ Junctive AND (all) precedence infix & infix (&), infix ∩ infix (.), infix ⊍ Junctive OR (any) precedence infix | infix (|), infix ∪ infix (+), infix ⊎ infix (-), infix ∖ infix ^ infix (^), infix ⊖ Named unary precedence prefix temp prefix let Nonchaining binary precedence infix does infix but infix cmp infix coll infix unicmp infix leg infix <=> infix .. infix ..^ infix ^.. infix ^..^ Chaining binary precedence infix == infix !=, infix ≠ infix < infix <=, infix ≤ infix > infix >=, infix ≥ infix eq infix ne infix gt infix ge infix lt infix le infix before infix after infix eqv infix === infix =:= infix ~~ infix =~= infix (elem), infix ∈ infix ∉ infix (==), infix ≡ infix ≢ infix (cont), infix ∋ infix ∌ infix (<), infix ⊂ infix ⊄ infix (<=), infix ⊆ infix ⊈ infix (>), infix ⊃ infix ⊅ infix (>=), infix ⊇ infix ⊉ Tight AND precedence infix && Tight OR precedence infix || infix ^^ infix // infix min infix max infix minmax Conditional operator precedence infix ?? !! infix ff infix ^ff infix ff^ infix ^ff^ infix fff infix ^fff infix fff^ infix ^fff^ Item assignment precedence infix = (item assignment) infix => Loose unary precedence prefix not prefix so Comma operator precedence infix , infix : List infix precedence infix Z infix X infix ... List prefix precedence infix = (list assignment) infix := infix ::= listop ... listop !!! listop ??? Reduction operators Loose AND precedence infix and infix andthen infix notandthen Loose OR precedence infix or infix orelse infix xor Sequencer precedence infix ==> infix <== Identity Creating operators Packages Names Package-qualified names Pseudo-packages Looking up names Interpolating into names Direct lookup Package lookup Class member lookup Globals Performance First, profile your code Time with now - INIT now Profile locally Profile compiling Create or view benchmarks Share problems Solve problems Line by line Routine by routine Speed up type-checks and call resolution Choose better algorithms Change sequential/blocking code to parallel/non-blocking Use existing high performance code Make the Rakudo compiler generate faster code Still need more ideas? Not getting the results you need/want? Phasers Phasers Execution order Program execution phasers BEGIN CHECK INIT END Block phasers ENTER LEAVE KEEP UNDO PRE POST Loop phasers FIRST NEXT LAST Exception handling phasers CATCH CONTROL Object phasers COMPOSE (Not yet implemented) Asynchronous phasers LAST QUIT CLOSE DOC phasers DOC Pod6 Block structure Delimited blocks Configuration information Paragraph blocks Abbreviated blocks Declarator blocks Block types Headings Ordinary paragraphs Code blocks I/O blocks Lists Unordered lists Definition lists Multi-level lists Multi-paragraph lists Tables Pod6 comments Semantic blocks Formatting codes Bold Italic Underlined Code Links Placement links Nested Nested Comments Notes Keyboard input Replaceable Terminal output Unicode Verbatim text Nested Indexing terms Rendering Pod HTML Markdown Text Accessing Pod Pragmas v6.x MONKEY-GUTS MONKEY-SEE-NO-EVAL MONKEY-TYPING MONKEY dynamic-scope experimental fatal internals invocant isms lib newline nqp parameters precompilation soft strict trace v6 variables worries Python to Raku - nutshell Basic syntax Hello, world Statement separators Blocks Variables Scope Control flow Lambdas, functions and subroutines List comprehensions Classes and objects Decorators Context managers input Tuples Quoting constructs The Q lang Literal strings: Q Escaping: q Interpolation: qq Word quoting: qw Word quoting: < > Word quoting with quote protection: qww Word quoting with interpolation: qqw Word quoting with interpolation and quote protection: qqww Word quoting with interpolation and quote protection: « » Shell quoting: qx Shell quoting with interpolation: qqx Heredocs: :to Unquoting Regexes Ruby to Raku - nutshell Basic syntax Statement ending semicolons Whitespace . Method calls, .public_send Variables, sigils, scope, and common types Variable scope $ Scalar @ Array % Hash & Sub * Slurpy params / argument expansion Twigils : Symbols Operators == != < > <= >= Comparisons <=> Three-way comparisons ~~ Smartmatch operator & | ^ Numeric bitwise ops & | ^ Boolean ops &. Conditional chaining operator << >> Numeric shift left, right ops, shovel operator => and : Key-value separators ? : Ternary operator + String concatenation String interpolation Compound statements Conditionals if elsif else unless case-when Loops while until for .each Flow interruption statements Regular expressions ( regex / regexp ) .match method and =~ operator .sub and .sub! Regex options Whitespace is ignored, most things must be quoted Special matchers generally fall under the <> syntax Longest token matching (LTM) displaces alternation File-related operations Reading the lines of a text file into an array Iterating over the lines of a text file Object orientation Basic classes, methods, attributes Private methods Going meta Environment variables Raku module library path Misc. Importing specific functions from a module OptionParser, parsing command-line flags RubyGems, external libraries Regexes Lexical conventions Anonymous regex definition syntax Named regex definition syntax Regex readability: whitespace and comments Match syntax Literals and metacharacters Wildcards Character classes Backslashed character classes \n and \N \t and \T \h and \H \v and \V \s and \S \d and \D \w and \W \c and \C \x and \X Predefined character classes Predefined Regexes Unicode properties Enumerated character classes and ranges Quantifiers One or more: + Zero or more: * Zero or one: ? General quantifier: ** min..max Modified quantifier: %, %% Preventing backtracking: : Greedy versus frugal quantifiers: ? Alternation: || Longest alternation: | Quoted lists are LTM matches Conjunction: && Conjunction: & Anchors Start of string and end of string Start of line and end of line Word boundary Left and right word boundary Summary of anchors Zero-width assertions Lookaround assertions Lookahead assertions Lookbehind assertions Grouping and capturing Capturing Non-capturing grouping Capture numbers Named captures Capture markers: <( )> Substitution Lexical conventions Replacing string literals Wildcards and character classes Capturing groups Common adverbs S/// non-destructive substitution Tilde for nesting structures Recursive Regexes Subrules Regex interpolation Regex Boolean condition check Adverbs Regex adverbs Ignorecase Ignoremark Ratchet Sigspace Perl compatibility adverb Matching adverbs Positional adverbs Continue Exhaustive Global Pos Overlap Substitution adverbs Samecase Samemark Samespace Backtracking $/ changes each time a regular expression is matched Best practices and gotchas Regexes: best practices and gotchas Code layout Keep it small What to match Matching whitespace Sets, bags, and mixes Introduction Operators with set semantics Set operators that return Bool infix (elem), infix ∈ infix ∉ infix (cont), infix ∋ infix ∌ infix (<=), infix ⊆ infix ⊈ infix (<), infix ⊂ infix ⊄ infix (>=), infix ⊇ infix ⊉ infix (>), infix ⊃ infix ⊅ infix (==), infix ≡ infix ≢ Set operators that return a QuantHash infix (|), infix ∪ infix (&), infix ∩ infix (-), infix ∖ infix (^), infix ⊖ Set operators that return a Baggy infix (.), infix ⊍ infix (+), infix ⊎ Terms related to set operators term ∅ Statement prefixes lazy eager hyper, race quietly try do sink once gather start react supply Data structures Scalar structures Complex data structures Functional structures Defining and constraining data structures Infinite structures and laziness Introspection Subscripts Basics Positional subscripting Associative subscripting Applying subscripts Nonexistent elements From the end Slices Truncating slices Zen slices Multiple dimensions Modifying elements Autovivification Binding Adverbs :exists :delete :p :kv :k :v Custom types Custom type example Methods to implement for positional subscripting method elems method AT-POS method EXISTS-POS method DELETE-POS method ASSIGN-POS method BIND-POS method STORE Methods to implement for associative subscripting method AT-KEY method EXISTS-KEY method DELETE-KEY method ASSIGN-KEY method BIND-KEY method STORE Syntax Lexical conventions Free form Unspace Separating statements with semicolons Implied separator rule (for statements ending in blocks) Comments Single-line comments Multi-line / embedded comments Pod comments Identifiers Ordinary identifiers Extended identifiers Compound identifiers term term:<> Statements and expressions Terms Variables Barewords (constants, type names) Packages and qualified names Literals String literals Number literals Int literals Rat literals Num literals Complex literals Pair literals Arrow pairs Adverbial pairs (colon pairs) Boolean literals Array literals Hash literals Regex literals Signature literals Declarations Variable declaration Subroutine declaration Package, Module, Class, Role, and Grammar declaration Multi-dispatch declaration Subroutine calls Precedence drop Operators Metaoperators System interaction Getting arguments through the command line Getting arguments interactively Running programs synchronously and asynchronously Making operating system calls through the native API Pod6 tables Restrictions Best practices Good tables Bad tables Ugly tables Date and time functions Terms Literals Int Rat Num Str Regex Pair List * Identifier terms term self term now term time term rand term π term pi term τ term tau term 𝑒 term e term i term ∅ Variables Constants Testing Writing tests Thread safety Running tests Test plans Testing return values By string comparison By approximate numeric comparison By structural comparison By arbitrary comparison By object type By method name By role By regex Testing modules Testing exceptions Grouping tests Skipping tests Manual control Traits The is trait is applied to classes. is repr and native representations. is on routines is implementation-detail trait method is-implementation-detail Traps to avoid Variables and constants Constants are computed at compile time Assignment of Nil can produce a different value, usually Any Using a block to interpolate anon state vars Using set subroutines on Associative when the value is falsy Blocks Beware of empty "blocks" Objects Assigning to attributes BUILD prevents automatic attribute initialization from constructor arguments Whitespace Whitespace in regexes does not match literally Ambiguities in parsing Block vs. Hash slice ambiguity Reduction vs. Array constructor ambiguity Less than vs. Word quoting/Associative indexing Exclusive sequences vs. sequences with Ranges Captures Containers versus values in a capture Cool tricks Strings are not Lists, so beware indexing Lists become strings, so beware .index()ing Lists become strings, so beware .contains() Numeric literals are parsed before coercion Getting a random item from a List Lists numify to their number of elements in numeric context Arrays Referencing the last element of an array Typed array parameters Using «» quoting when you don't need it Strings Quotes and interpolation Strings are not iterable .chars gets the number of graphemes, not Codepoints All text is normalized by default Allomorphs generally follow numeric semantics Case-insensitive comparison of strings Pairs Constants on the left-hand side of pair notation Scalar values within Pair Sets, bags and mixes Sets, bags and mixes do not have a fixed order Operators Junctions Exclusive sequence operator String ranges/Sequences Topicalizing operators Fat arrow and constants Infix operator assignment Regexes $x vs <$x>, and $(code) vs <{code}> | vs ||: which branch will win $/ changes each time a regular expression is matched vs. < foo>: named rules vs. quoted lists Non-capturing, non-global matching in list context Common precedence mistakes Adverbs and precedence Ranges and precedence Loose Boolean operators Exponentiation operator and prefix minus Method operator calls and prefix minus Subroutine and method calls Named parameters Argument count limit Phasers and implicit return LEAVE needs explicit return from a sub to run Input and output Closing open filehandles and pipes IO::Path stringification Splitting the input data into lines Proc::Async and print Using .stdout without .lines Exception handling Sunk Proc Using shortcuts The ^ twigil Using » and map interchangeably Word splitting in « » Scope Using a once block LEAVE phaser and exit LEAVE phaser may run sooner than you think Grammars Using regexes within grammar's actions Using certain names for rules/token/regexes Unfortunate generalization :exists with more than one key Using […] metaoperator with a list of lists Using [~] for concatenating a list of blobs Maps Beware of nesting Maps in sink context Smartmatching Smartmatch and WhateverCode Type system Definition of a Raku type Default types Type objects Undefinedness Coercion Type declarators class Mixins Introspection Metaclass Private attributes Methods Inheritance and multis Only method submethod BUILD Fallback method Reserved method names Methods in package scope Setting attributes with namesake variables and methods trait is nodal trait handles trait is trait is rw trait is required trait hides trait trusts Augmenting a class role Auto-punning trait does Parameterized As type constraints enum Typing Enums Metaclass Methods Coercion module package grammar subset Versioning, authorship, and API version. Unicode Filehandles and I/O Normalization UTF8-C8 Entering unicode codepoints and codepoint sequences Name aliases Named sequences Emoji sequences Unicode versus ASCII symbols Alphabetic characters Numeric characters Numeric values Whitespace characters Other acceptable single codepoints Atomic operators Multiple codepoints Entering unicode characters XCompose (Linux) Getting compose working in all programs ibus XKB (Linux) Single-user configuration System-wide configuration KDE How to enter Unicode characters using a two-key combination WinCompose (Windows) Terminals, shells, and editors: XTerm URxvt Unix shell Screen Vim vim-raku Emacs Some characters useful in Raku Smart quotes Guillemets Set/bag operators Mathematical symbols Greek characters Superscripts and subscripts Variables Sigils Item and list assignment Sigilless variables Twigils The * twigil The ? twigil The ! twigil The . twigil The ^ twigil The : twigil The = twigil The ~ twigil Variable declarators and scope The my declarator The our declarator Declaring a list of variables with lexical (my) or package (our) scope The has declarator The anon declarator The state declarator The $ variable The @ variable The % variable The augment declarator The temp prefix The let prefix The constant prefix Type constraints and initialization Default defined variables pragma Special variables Pre-defined lexical variables The $_ variable The $/ variable Positional attributes Named attributes The $! variable Compile-time variables %?RESOURCES Introspection compile-time variables Rakudo-specific compile-time variables &?ROUTINE &?BLOCK $?DISTRIBUTION Dynamic variables Argument related variables $*ARGFILES @*ARGS &*ARGS-TO-CAPTURE &*GENERATE-USAGE Special filehandles: STDIN, STDOUT and STDERR Runtime environment %*ENV $*REPO $*INIT-INSTANT $*TZ $*CWD $*KERNEL $*DISTRO $*VM $*RAKU $*PERL $*PID $*PROGRAM-NAME $*PROGRAM &*EXIT $*EXECUTABLE $*EXECUTABLE-NAME $*USAGE $*USER $*GROUP $*HOMEDRIVE $*HOMEPATH $*HOME $*SPEC $*TMPDIR $*THREAD $*SCHEDULER $*SAMPLER $*USAGE Runtime variables $*COLLATION $*TOLERANCE $*DEFAULT-READ-ELEMS Naming conventions class int Debugging Core debugging features The trace pragma Dumper function (dd) Using backtraces Environment variables Ecosystem debugging modules Debugger::UI::CommandLine Grammar::Debugger (and Grammar::Tracer in the same distribution) Trait::Traced Reading the docs INTRODUCTION SYNOPSIS DESCRIPTION LIMITATIONS Running Rakudo NAME SYNOPSIS DESCRIPTION ENVIRONMENT VARIABLES Module loading Error message verbosity and strictness Affecting precompilation Line editor Other WINDOWS PECULIARITIES Non-console applications AUTHORS class AST class Any Methods method ACCEPTS method any method all method one method none method list method push routine reverse method sort routine map method deepmap method duckmap method nodemap method flat method eager method elems method end method pairup sub item method Array method List method serial method Hash method hash method Slip method Map method Bag method BagHash method Set method SetHash method Mix method MixHash method Supply routine min routine max routine minmax method minpairs method maxpairs method keys method flatmap method roll method iterator method pick method skip method prepend method unshift routine first method unique method repeated method squish method permutations method join routine categorize routine classify routine reduce routine produce method pairs method antipairs method invert routine kv method toggle method head method tail method tree method nl-out method combinations method grep method append method values method collate method cache method batch method rotor method sum class Array Methods method gist method pop method push method append method elems method clone method flat method shift routine unshift routine prepend routine splice method shape method default method of method dynamic method List method Slip role Associative Methods method of method keyof Methods that classes mixing Associative should provide method AT-KEY method EXISTS-KEY method STORE See also class Attribute Traits Trait is default Trait is required trait is DEPRECATED trait is rw trait is built Methods method name method package method has_accessor method rw method readonly method required method type method get_value method set_value method gist Optional introspection DEPRECATED class Backtrace Methods method new method gist method Str method next-interesting-index method outer-caller-idx method nice method full method list method summary method concise method map method flat class Backtrace::Frame Methods method file method line method code method subname method is-hidden method is-routine method is-setting class Bag Creating Bag objects Operators Subroutines sub bag Note on reverse and ordering See also class BagHash Creating BagHash objects Updating BagHash Objects Operators Note on reverse and ordering. method add method remove See Also role Baggy Methods method new-from-pairs method grab method grabpairs method pick method pickpairs method roll method pairs method antipairs method invert method classify-list method categorize-list method keys method values method kv method kxxv method elems method total method default method hash method Bool method Set method SetHash method ACCEPTS See Also role Blob Methods method new method Bool method Capture method elems method bytes method chars method Str method Stringy method decode method list method gist method subbuf method allocate method unpack sub pack method reverse Methods on blob8 only (6.d, 2018.12 and later) method read-uint8 method read-int8 method read-uint16 method read-int16 method read-uint32 method read-int32 method read-uint64 method read-int64 method read-uint128 method read-int128 method read-num32 method read-num64 Methods on blob8 only (6.d, 2019.03 and later) method read-ubits method read-bits class Block enum Bool Methods method ACCEPTS routine succ routine pred routine enums routine pick routine roll routine Int routine Numeric Operators prefix ? prefix so role Buf Methods method subbuf-rw routine subbuf-rw method reallocate method list method push method pop method append method prepend method shift method unshift method splice Methods on buf8 only (6.d, 2018.12 and later) method write-uint8 method write-int8 method write-uint16 method write-int16 method write-uint32 method write-int32 method write-uint64 method write-int64 method write-uint128 method write-int128 method write-num32 method write-num64 Methods on buf8 only (6.d, 2019.03 and later) method write-ubits method write-bits Methods on buf8 only (6.d, 2019.10 and later) method write-uint8 method write-int8 method write-uint16 method write-int16 method write-uint32 method write-int32 method write-uint64 method write-int64 method write-uint128 method write-int128 method write-num32 method write-num64 method write-ubits method write-bits role CX::Done Methods method message role CX::Emit Methods method message role CX::Last Methods method message role CX::Next Methods method message role CX::Proceed Methods method message role CX::Redo Methods method message role CX::Return Methods method message role CX::Succeed Methods method message role CX::Take Methods method message role CX::Warn Methods method new class CallFrame Methods method code method file method line method annotations method my Routines sub callframe role Callable Methods method CALL-ME method Capture class Cancellation Methods method cancel class Capture Methods method list method hash method elems method keys method values method kv method pairs method antipairs method Bool method Capture method Numeric class Channel Methods method send method receive method poll method close method list method closed method fail method Capture method Supply sub await class Code Methods method ACCEPTS method arity method assuming method count method of method signature method cando method Str method file method line method is-implementation-detail class Collation Methods method set method primary method secondary method tertiary method quaternary class CompUnit Methods method auth method distribution method from method precompiled method repo method repo-id method short-name method version role CompUnit::PrecompilationRepository Methods method new-unit method load-unit method load-repo-id method store-file method store-unit method store-repo-id method delete method delete-by-compiler role CompUnit::Repository Methods method resolve method need method load method loaded class CompUnit::Repository::FileSystem Methods method candidates method files method resolve method need method load method loaded method short-id class CompUnit::Repository::Installation Methods method install method uninstall method candidates method files method resolve method need method load method loaded method short-id class Compiler Methods method id method release method codename method backend method build-date method verbose-config class Complex Operators postfix i Methods method new method re method im method reals method isNaN method polar method floor method ceiling method round method truncate routine abs method conj method sqrt method gist method raku method Real sub infix:<**> class ComplexStr Methods method new method Bool method Capture method Complex method Numeric method Real method Str method ACCEPTS Operators infix cmp class Cool Methods routine abs method conj method EVAL routine sqrt method sign method rand routine sin routine asin routine cos routine acos routine tan routine atan routine atan2 routine sec routine asec routine cosec routine acosec routine cotan routine acotan routine sinh routine asinh routine cosh routine acosh routine tanh routine atanh routine sech routine asech routine cosech routine acosech routine cotanh routine acotanh routine cis routine log routine log10 method log2 routine exp method unpolar routine round routine floor method fmt routine ceiling routine truncate routine ord method path routine chr routine chars routine codes routine flip routine trim routine trim-leading routine trim-trailing routine lc routine uc routine fc routine tc routine tclc routine wordcase routine samecase routine uniprop sub uniprops routine uniname routine uninames routine unimatch routine chop routine chomp routine substr routine substr-rw routine ords routine chrs routine split routine lines method words routine comb method contains routine index routine rindex method match routine roots method subst method trans method IO method sprintf method printf class CurrentThreadScheduler class Date Methods method new method new-from-daycount method last-date-in-month method first-date-in-month method clone method today method truncated-to method succ method pred method Str method gist method Date method DateTime Functions sub sleep sub sleep-timer sub sleep-until sub infix:<-> sub infix:<+> class DateTime Methods method new method now method clone method hh-mm-ss method hour method minute method second method whole-second method timezone method offset method offset-in-minutes method offset-in-hours method Str method Instant method posix method truncated-to method Date method DateTime method utc method in-timezone method local sub infix:<-> sub infix:<+> sub infix:«<=>» sub infix: sub infix:«<» sub infix:«>» sub infix:«<=» sub infix:«>=» sub infix:«==» sub infix:«!=» role Dateish Methods method year method month method day method formatter method is-leap-year method day-of-month method day-of-week method day-of-year method days-in-month method week method week-number method week-year method weekday-of-month method yyyy-mm-dd method mm-dd-yyyy method dd-mm-yyyy method daycount method IO method earlier method later role Distribution Required Methods method meta method content class Distribution::Hash Methods method new method meta method content class Distribution::Locally Methods method prefix method content class Distribution::Path Methods method new method meta method content class Distribution::Resource Methods method IO class Distro Methods method is-win method path-sep method release class Duration role Encoding Methods method name method alternative-names method decoder method encoder class Encoding::Registry Methods method name method find enum Endian Methods routine Numeric role Enumeration Methods method key method value method enums method kv method pair method CALL-ME method pick method roll method pred method succ method Numeric method Int method Real method === class Exception Methods method message method backtrace method throw method resume method rethrow routine fail method gist routine die sub warn class Failure Methods method new method handled method exception method self method Bool method Capture method defined sub fail class FatRat Methods method raku class ForeignCode Methods method arity method count method signature method name method gist method Str class Grammar Methods method parse method subparse method parsefile class Hash Methods method classify-list Simple classification Multi-level classification :&as value modifier method categorize-list Simple categorization Multi-level categorization :&as value modifier method push method append method default method keyof method of routine dynamic Subscript Adverbs :exists :delete :p :v and :k class HyperSeq Methods method iterator method grep method map method invert method hyper method race method serial method is-lazy method sink class HyperWhatever Standalone term Currying role IO class IO::ArgFiles Variables $*ARGFILES class IO::CatHandle Methods method new method chomp method nl-in method close method comb method DESTROY method encoding method eof method get method getc method handles method IO method lines method lock method native-descriptor method next-handle method on-switch method open method opened method path method read method readchars method seek method tell method slurp method split method Str method Supply method t method unlock method words NYI Methods method flush method nl-out method out-buffer method print method printf method print-nl method put method say method write method WRITE method READ method EOF class IO::Handle Methods method open method comb method chomp routine get routine getc Buffering terminals Waiting for potential combiners submethod DESTROY method gist method eof method encoding utf16, utf16le and utf16be Examples routine lines method lock method unlock routine words method split method spurt method print method print-nl method printf method out-buffer method put method say method read method readchars method write method seek method tell method slurp-rest method slurp method Supply method path method IO method Str routine close method flush method native-descriptor method nl-in method nl-out method opened method t Creating Custom Handles method WRITE method READ method EOF Related roles and classes class IO::Notification Methods method watch-path class IO::Notification::Change Methods method path method event method IO method gist class IO::Path Methods method new attribute CWD attribute SPEC attribute path method ACCEPTS method basename method add method child method cleanup method comb method split method extension method dirname method volume method parts method raku method gist method Str method succ method open method pred method watch method is-absolute method is-relative method absolute method relative method parent method resolve routine dir File test operators method e method d method f method s method l method r method w method rw method x method rwx method z method sibling method words method lines routine slurp method spurt method chdir method mkdir routine rmdir method chmod routine rename routine copy routine move method Numeric method Int routine symlink routine link routine unlink method IO method SPEC File timestamp retrieval method modified method accessed method changed File permissions retrieval method mode class IO::Path::Cygwin Methods method new method raku class IO::Path::Parts Methods method new attribute volume attribute dirname attribute basename Previous implementations class IO::Path::QNX Methods method new method raku class IO::Path::Unix Methods method new method raku class IO::Path::Win32 Methods method new method raku class IO::Pipe Methods method close method IO method path method proc role IO::Socket Methods method recv method read routine get method print method write method put method close method native-descriptor class IO::Socket::Async Methods method connect method listen method udp method bind-udp method print method print-to method write method write-to method Supply method close method socket-host method peer-host method socket-port method peer-port method native-descriptor class IO::Socket::Async::ListenSocket Methods method socket-host method socket-port method native-descriptor class IO::Socket::INET Methods method new Methods method get method lines method accept class IO::Spec About sub-classes IO::Spec::* Methods class IO::Spec::Cygwin Methods method abs2rel method canonpath method catdir method catpath method is-absolute method join method rel2abs method split method splitpath method tmpdir class IO::Spec::QNX Methods method canonpath class IO::Spec::Unix Methods method abs2rel method basename method canonpath method catdir method catfile method catpath method curdir method curupdir method devnull method dir-sep method extension method is-absolute method join method path method rel2abs method rootdir method split method splitdir method splitpath method tmpdir method updir class IO::Spec::Win32 Methods method basename method canonpath method catdir method catfile method catpath method devnull method dir-sep method is-absolute method join method path method rel2abs method rootdir method split method splitdir method splitpath method tmpdir class IO::Special Methods method new method what method WHICH method Str method IO method e method d method f method s method l method r method w method x method modified method accessed method changed method mode class Instant Future Leap Seconds Methods method from-posix method to-posix method Date method DateTime class Int Methods Head method Capture routine chr routine expmod method polymod routine is-prime routine lsb routine msb routine unival method Range method Bridge Operators infix div class IntStr Methods method new method Bool method Int method Numeric method Real method Str method ACCEPTS Operators infix cmp role Iterable Methods method iterator method flat method lazy method hyper Options degree and batch method race role Iterator IterationEnd Methods method pull-one method push-exactly method push-at-least method push-all method push-until-lazy method is-lazy method sink-all method skip-one method skip-at-least method skip-at-least-pull-one Predictive iterators class Junction Failures and exceptions Smartmatching Methods method new method defined method Bool method Str method iterator method gist method raku infix ~ See Also class Kernel Methods method arch method archname method bits method cpu-cores method cpu-usage method free-memory method total-memory method endian method hardware method hostname method release method signal method signals class Label Methods method name method next method redo method last class List Immutability Items, flattening and sigils Methods method ACCEPTS routine elems routine end routine keys routine values routine kv routine pairs routine antipairs routine invert routine join routine map method flatmap method gist routine grep routine first method head method tail routine categorize routine classify method Bool method Str method Int method Numeric method Capture routine pick routine roll routine eager routine reverse routine rotate routine sort routine reduce routine produce routine combinations routine permutations method rotor method batch routine cross routine zip routine roundrobin routine sum method fmt method from method to method sink method Set Operators infix cmp class Lock Methods method protect method lock method unlock method condition class Lock::Async Methods method lock method unlock method protect method protect-or-queue-on-recursion method with-lock-hidden-from-recursion-check class Lock::ConditionVariable Methods method wait method signal class Macro class Map Methods method new method elems method ACCEPTS method gist method keys method values method pairs method antipairs method invert method kv method list method sort method Int method Numeric method Bool method Capture class Match Methods method pos method target method chars method clone method orig method from method to method made routine make method actions method ast method Bool method Str method Int method caps method chunks method list method hash method prematch method postmatch method replace-with infix eqv role Metamodel::AttributeContainer Methods method add_attribute method attributes method set_rw method rw role Metamodel::C3MRO Methods method compute_mro method mro method mro_unhidden class Metamodel::ClassHOW Methods method add_fallback method can method lookup method compose method new_type role Metamodel::ConcreteRoleHOW role Metamodel::CurriedRoleHOW class Metamodel::DefiniteHOW Methods method new_type method name method shortname method base_type method definite method nominalize method find_method method type_check method accepts_type role Metamodel::Documenting Methods method set_why method WHY class Metamodel::EnumHOW Methods method new_type method add_parent method set_export_callback method export_callback method compose method is_composed method compose_values method set_composalizer method composalizer method add_enum_value method enum_values method elems method enum_from_value method enum_value_list role Metamodel::Finalization Methods method setup_finalization method destroyers role Metamodel::MROBasedMethodDispatch Methods method find_method method find_method_qualified method can method publish_method_cache role Metamodel::MethodContainer Methods method add_method method methods method method_table method lookup role Metamodel::Mixins Methods method set_is_mixin method is_mixin method set_mixin_attribute method mixin_attribute method setup_mixin_cache method flush_cache method generate_mixin method mixin role Metamodel::MultipleInheritance Methods method add_parent method parents method hides method hidden method set_hidden role Metamodel::Naming Methods method name method set_name class Metamodel::PackageHOW Methods method archetypes method new method new_type compose is_composed role Metamodel::ParametricRoleGroupHOW role Metamodel::ParametricRoleHOW class Metamodel::Primitives Methods method create_type method set_package method install_method_cache method configure_type_checking method configure_destroy method compose_type method rebless method is_type role Metamodel::PrivateMethodContainer Methods method add_private_method method private_method_table method private_methods method private_method_names method find_private_method role Metamodel::RoleContainer Methods method add_role method roles_to_compose role Metamodel::RolePunning role Metamodel::Stashing Methods method add_stash role Metamodel::Trusting Methods method add_trustee method trusts method is_trusted role Metamodel::Versioning Methods method ver method auth method api method set_ver method set_auth method set_api class Method class Mix Creating Mix objects Operators sub mix Methods method Bag method BagHash method reverse method total Note on order See Also class MixHash Creating MixHash objects Operators Note on reverse and ordering. Methods method Bag method BagHash See Also role Mixy Methods method roll See Also class Mu Methods method iterator method defined routine defined routine isa routine does routine Bool method Capture method Str routine gist method raku method raku method item method self method clone method new method bless method CREATE method print method put method say method ACCEPTS method WHICH method WHERE method WHY trait is export method return method return-rw method emit method take routine take routine take-rw method so method not class NFC class NFD class NFKC class NFKD class Nil Methods method append method gist method Str method new method prepend method push method unshift method ords method chrs method FALLBACK method Numeric class Num Inf NaN method new method rand sub srand method Capture Int Rat FatRat method Bridge class NumStr Methods method new method Bool method Num method Numeric method Real method Str method ACCEPTS Operators infix cmp role Numeric Methods method Numeric method Int method Rat method Num method narrow method ACCEPTS routine log routine log10 routine log2 routine exp method roots routine abs routine sqrt method conj method Bool method succ method pred class ObjAt Methods infix eqv enum Order Operators infix cmp infix <=> class Pair Methods method new method ACCEPTS method antipair method key method value infix cmp method fmt method kv method pairs method antipairs method invert method keys method values method freeze method Str method Pair class Parameter Methods method name method usage-name method sigil method type method coerce_type method constraints method named method named_names method positional method slurpy method twigil method optional method raw method capture method rw method copy method readonly method invocant method default method type_captures method sub_signature method prefix method suffix Runtime creation of Parameter objects (6.d, 2019.03 and later) class Perl class Pod::Block Methods method contents method config class Pod::Block::Code class Pod::Block::Comment class Pod::Block::Declarator Methods method leading method trailing method WHEREFORE class Pod::Block::Named Methods method name class Pod::Block::Para class Pod::Block::Table Methods method caption method headers class Pod::Defn Methods method term class Pod::FormattingCode Methods method type method meta class Pod::Heading Methods method level class Pod::Item Methods method level role Positional Methods method of Methods that should be provided by classes that mix in this role method elems method AT-POS method EXISTS-POS method STORE See also role PositionalBindFailover Methods method cache method list method iterator role PredictiveIterator Methods method count-only method bool-only class Proc Potential Deadlocks Methods routine new method sink method spawn method shell method command method Bool method pid method exitcode method signal class Proc::Async Methods method new method stdout method stderr method bind-stdin method bind-stdout method bind-stderr method w method start method started method ready method pid method path method args method command method write method print method method put method say method Supply method close-stdin method kill class Promise Methods method start method in method at method kept method broken method allof method anyof method then method keep method break method result method cause method Bool method status method scheduler method vow method Supply sub await class Proxy Methods method new class PseudoStash role QuantHash Methods method hash method Hash method of method keyof method Capture method Setty method Baggy method Mixy class RaceSeq Methods method iterator method grep method map method invert method race method hyper method serial method is-lazy method sink class Raku Methods method compiler method DISTROnames method KERNELnames method VMnames See Also class Range Ranges in subscripts Shifting and scaling intervals Matching against Ranges Methods method ACCEPTS method min method excludes-min method max method excludes-max method bounds method infinite method is-int method int-bounds method minmax method elems method list method flat method pick method roll method sum method reverse method Capture method rand method EXISTS-POS method AT-POS method raku method fmt method WHICH sub infix:<+> sub infix:<-> sub infix:<*> sub infix: sub infix: class Rat Methods method raku class RatStr Methods method new method Bool method Capture method Numeric method Rat method Real method Str method ACCEPTS Operators infix cmp role Rational Methods method new method Bool method Bridge method Int method Num method ceiling method floor method isNaN method numerator method denominator method nude method norm method base-repeating method Range role Real Methods method Bridge method Complex method Rat method Real routine rand method sign method round method floor method ceiling method truncate method polymod method base class Regex Methods method ACCEPTS method Bool class Routine Methods method name method package method multi method candidates method cando method wrap method unwrap method yada trait is cached trait is pure trait is rw trait is export trait is DEPRECATED trait is hidden-from-backtrace trait is default trait is raw class Routine::WrapHandle Methods method restore class Scalar Atomic operations on Scalar Introspection method of method default method name method dynamic Routines sub atomic-assign sub atomic-fetch sub cas Operators infix ⚛= prefix ⚛ role Scheduler Methods method uncaught_handler method cue method loads class Semaphore Methods method new method acquire method try_acquire method release class Seq Methods method new method iterator method is-lazy method Seq method Capture method elems method from-loop method sink method skip role Sequence Methods method Str method Stringy method Numeric method AT-POS method EXISTS-POS method eager method fmt method gist class Set Creating Set objects Operators Subroutines sub set See Also class SetHash Creating SetHash objects Operators Methods method set method unset See Also role Setty Methods method new-from-pairs method grab method grabpairs method pick method pickpairs method roll method antipairs method keys method values method kv method elems method total method minpairs method maxpairs method default method ACCEPTS method Bag method BagHash method Bool method Mix method MixHash See Also class Signature Signature literals Parameter separators Type constraints Constraining optional arguments Constraining slurpy arguments Constraining named arguments Constraining argument definiteness Constraining signatures of Callables Constraining return types Return type arrow: --> returns of prefix(C-like) form Coercion type Slurpy parameters Types of slurpy array parameters Flattened slurpy Unflattened slurpy Single argument rule slurpy Type captures Positional vs. named arguments Argument aliases Optional and mandatory arguments Dynamic variables Destructuring arguments Sub-signatures Long names Capture parameters Parameter traits and modifiers Methods method params method arity method count method returns method ACCEPTS method Capture Runtime creation of Signature objects (6.d, 2019.03 and later) class Slip Methods method List sub slip Constants constant Empty class Stash class Str Methods routine chop routine chomp method contains routine lc routine uc routine fc routine tc routine tclc routine wordcase method unival method univals routine chars method encode method index routine rindex method indices method match method Numeric method Int method Rat method Bool routine parse-base routine parse-names routine uniparse routine split routine comb routine lines routine words routine flip method starts-with method ends-with method subst Literal replacement substitution Callable Adverbs More Examples method subst-mutate routine substr method substr-eq method substr-rw routine samemark method succ method pred routine ord method ords method trans method indent method trim method trim-trailing method trim-leading method NFC method NFD method NFKC method NFKD method ACCEPTS method Capture routine val method Version method Date method DateTime class StrDistance Methods method before method after method Bool method Numeric method Int method Str role Stringy class Sub Operators Traits class Submethod Methods method gist class Supplier Methods method new method Supply method emit method done method quit class Supplier::Preserving Methods method new class Supply Methods that return Taps method tap method act Utility methods method Capture method Channel method Promise method live method schedule-on Methods that wait until the supply is done method wait method list method Seq method grab method reverse method sort method collate method reduce Methods that return another Supply method from-list method share method flat method do method on-close method interval method grep method map method batch method elems method head method tail method first method split method rotate method rotor method delayed method throttle control messages status message Examples method stable method produce method lines method words method unique method repeated method squish method max method min method minmax method skip method start method migrate Methods that combine supplies method merge method zip method zip-latest I/O features exposed as supplies sub signal method IO::Notification.watch-path role Systemic Methods method auth method config method desc method name method signature method version method gist method Str class Tap Methods method close class Telemetry routine T routine snap routine snapper routine periods routine report module snapper class Telemetry::Instrument::Thread class Telemetry::Instrument::ThreadPool class Telemetry::Instrument::Usage Useful readings Head class Telemetry::Period class Telemetry::Sampler method new method set-instruments module Test Methods sub plan sub done-testing sub ok sub nok sub is sub isnt sub is_approx sub is-approx Absolute tolerance Relative tolerance Both absolute and relative tolerance specified sub is-approx-calculate sub is-deeply sub cmp-ok sub isa-ok sub can-ok sub does-ok sub like sub unlike sub use-ok sub dies-ok sub lives-ok sub eval-dies-ok sub eval-lives-ok sub throws-like sub fails-like sub subtest sub todo sub skip sub skip-rest sub bail-out sub pass sub flunk sub diag class Thread Methods method new method start method run method id method finish method join method yield method app_lifetime method name method Numeric method Str method is-initial-thread Routines sub full-barrier class ThreadPoolScheduler Methods new Subset UInt class Uni Methods method new method NFC method NFD method NFKC method NFKD method codes method elems class VM Methods method osname method precomp-ext method precomp-target method prefix class ValueObjAt class Variable Traits trait is default trait is dynamic trait of Methods method name class Version Methods method new method parts method plus method Str method gist method Capture class Whatever Methods method ACCEPTS method Capture class WhateverCode class X::AdHoc Methods method payload method Numeric method from-slurpy class X::Anon::Augment Methods method package-kind class X::Anon::Multi Methods method multiness method routine-type class X::Assignment::RO Methods method typename class X::Attribute::NoPackage Methods method name class X::Attribute::Package Methods method name method package-kind class X::Attribute::Required Methods method name method why class X::Attribute::Undeclared Methods method package-kind method package-name class X::Augment::NoSuchType Methods method package-kind method package class X::Bind class X::Bind::NativeType Methods method name class X::Bind::Slice Methods method type class X::Caller::NotDynamic Methods method symbol class X::Cannot::Lazy Methods method action method what class X::Channel::ReceiveOnClosed Methods method channel class X::Channel::SendOnClosed Methods method channel role X::Comp Methods method filename method line method column class X::Composition::NotComposable Methods method target-name method composer class X::Constructor::Positional role X::Control class X::ControlFlow Methods method illegal method enclosing class X::ControlFlow::Return class X::DateTime::TimezoneClash Methods sub message Defined as: class X::Declaration::Scope Methods method scope method declaration class X::Declaration::Scope::Multi class X::Does::TypeObject Methods method type class X::Dynamic::NotFound Methods method name class X::Eval::NoSuchLang Methods method lang class X::Export::NameClash Methods method symbol role X::IO class X::IO::Chdir Methods method path class X::IO::Chmod class X::IO::Copy Methods method from method to class X::IO::Cwd class X::IO::Dir Methods method path class X::IO::DoesNotExist Methods method path method trying class X::IO::Link Methods method target method name class X::IO::Mkdir Methods method path method mode class X::IO::Move Methods method from method to class X::IO::Rename Methods method from method to class X::IO::Rmdir Methods method path class X::IO::Symlink Methods method name method target class X::IO::Unlink Methods method path class X::Inheritance::NotComposed Methods method child-name method parent-name class X::Inheritance::Unsupported Methods method child-typename method parent class X::Method::InvalidQualifier Methods method method method invocant method qualifier-type class X::Method::NotFound Methods method method method typename method private method addendum class X::Method::Private::Permission Methods method method method source-package method calling-package class X::Method::Private::Unqualified Methods method method class X::Mixin::NotComposable Methods method target method rolish class X::NYI Methods method new method feature method did-you-mean method workaround method message class X::NoDispatcher Methods method redispatcher class X::Numeric::Real Methods method source method target method reason role X::OS Methods method os-error class X::Obsolete Methods method old method replacement method when class X::OutOfRange Methods method what method got method range method comment class X::Package::Stubbed Methods method packages class X::Parameter::Default Methods method how method parameter class X::Parameter::MultipleTypeConstraints Methods method parameter class X::Parameter::Placeholder Methods method parameter method right class X::Parameter::Twigil Methods method parameter method twigil class X::Parameter::WrongOrder Methods method misplaced method parameter method after class X::Phaser::Multiple Methods method block class X::Phaser::PrePost Methods method phaser method condition class X::Placeholder::Block Methods method placeholder class X::Placeholder::Mainline role X::Pod role X::Proc::Async Methods method proc class X::Proc::Async::AlreadyStarted class X::Proc::Async::BindOrUse class X::Proc::Async::CharsOrBytes Methods method handle class X::Proc::Async::MustBeStarted Methods method method class X::Proc::Async::OpenForWriting Methods method method class X::Proc::Async::TapBeforeSpawn Methods method handle class X::Proc::Unsuccessful Methods method proc class X::Promise::CauseOnlyValidOnBroken Methods method promise method status class X::Promise::Vowed Methods method promise class X::Redeclaration Methods method symbol method what method postfix class X::Role::Initialization Methods method role class X::Scheduler::CueInNaNSeconds class X::Seq::Consumed class X::Sequence::Deduction class X::Signature::NameClash Methods method name class X::Signature::Placeholder Methods method placeholder class X::Str::Numeric Methods method source method pos method reason class X::StubCode Methods method message role X::Syntax class X::Syntax::Augment::WithoutMonkeyTyping class X::Syntax::Comment::Embedded class X::Syntax::Confused class X::Syntax::InfixInTermPosition Methods method infix class X::Syntax::Malformed Methods method what class X::Syntax::Missing Methods method what class X::Syntax::NegatedPair Methods method key class X::Syntax::NoSelf Methods method variable class X::Syntax::Number::RadixOutOfRange Methods method radix class X::Syntax::P5 class X::Syntax::Perl5Var class X::Syntax::Regex::Adverb Methods method adverb method construct class X::Syntax::Regex::SolitaryQuantifier class X::Syntax::Reserved Methods method reserved method instead class X::Syntax::Self::WithoutObject class X::Syntax::Signature::InvocantMarker class X::Syntax::Term::MissingInitializer class X::Syntax::UnlessElse class X::Syntax::Variable::Match class X::Syntax::Variable::Numeric Methods method what class X::Syntax::Variable::Twigil Methods method twigil method scope role X::Temporal class X::Temporal::InvalidFormat Methods method invalid-str method target method format class X::TypeCheck Methods method operation method got method expected class X::TypeCheck::Assignment class X::TypeCheck::Binding class X::TypeCheck::Return class X::TypeCheck::Splice Methods method action class X::Undeclared Methods method symbol method what class atomicint Routines sub atomic-assign sub atomic-fetch sub atomic-fetch-inc sub atomic-fetch-dec sub atomic-fetch-add sub atomic-fetch-sub sub atomic-inc-fetch sub atomic-dec-fetch sub cas Operators infix ⚛= prefix ⚛ prefix ++⚛ postfix ⚛++ prefix --⚛ postfix ⚛-- infix ⚛+= infix ⚛-= infix ⚛−= Independent routines routine EVAL sub EVALFILE sub mkdir sub chdir sub &*chdir sub chmod sub indir sub print sub put sub say routine note sub prompt sub open sub slurp sub spurt Options Examples sub run sub shell routine unpolar routine printf routine sprintf Directives Modifiers NYI Format parameter index using the '$' symbol Without index: NYI With index: Flags Vector flag 'v' Width (minimum) Precision, or maximum width Size Order of arguments sub flat routine unique routine repeated routine squish sub emit sub undefine Array manipulation sub pop sub shift sub push sub append Control routines sub exit sub done sub lastcall class utf8
Website Index
Term explained (not clickable)
Source file (clickable)
In section (clickable)
Enums
As type constraints
declarator
grammar
enum
As type constraints
proto regex
Proto regexes
regex
>> « » ~
regex ?[
Lookaround assertions
! (negation metaoperator)
Negated relational operators
! (private methods)
Methods
!==
Negated relational operators
!eq
Negated relational operators
$ (item contextualizer)
method pairup
$ (variable)
The state declarator
$!
The ! twigil
$$ (Perl)
$PROCESS_ID, $PID, $$
$*
Twigils
$*ARGFILES
Dynamic variables
$*COLLATION
Runtime variables
$*CWD
$*TZ
$*DEFAULT-READ-ELEMS
$*TOLERANCE
$*DISTRO
$*KERNEL
$*ERR
&*GENERATE-USAGE
$*EXECUTABLE
&*EXIT
$*EXECUTABLE-NAME
$*EXECUTABLE
$*GROUP
$*USER
$*HOME
$*HOMEPATH
$*HOMEDRIVE
$*GROUP
$*HOMEPATH
$*HOMEDRIVE
$*IN
&*GENERATE-USAGE
$*INIT-INSTANT
$*REPO
$*KERNEL
$*CWD
$*OUT
&*GENERATE-USAGE
$*PERL
$*RAKU
$*PID
$*PERL
$*PROGRAM
$*PROGRAM-NAME
$*PROGRAM-NAME
$*PID
$*RAKU
$*VM
$*REPO
%*ENV
$*SAMPLER
$*SCHEDULER
$*SCHEDULER
$*THREAD
$*SPEC
$*HOME
$*THREAD
$*TMPDIR
$*TMPDIR
$*SPEC
$*TOLERANCE
$*COLLATION
$*TZ
$*INIT-INSTANT
$*USAGE
Unit-scoped definition of MAIN $*EXECUTABLE-NAME $*SAMPLER
$*USER
$*USAGE
$*VM
$*DISTRO
$.
The . twigil
$0 (Perl)
$PROGRAM_NAME, $0
$:
The : twigil
$=
The = twigil
$?
The ? twigil
$?CLASS
Introspection compile-time variables
$?DISTRIBUTION
Introspection compile-time variables $?DISTRIBUTION
$?FILE
The $! variable
$?LINE
The $! variable
$?MODULE
Introspection compile-time variables
$?NL
Introspection compile-time variables
$?PACKAGE
Introspection compile-time variables
$?ROLE
Introspection compile-time variables
$?TABSTOP
Introspection compile-time variables
$^
The ^ twigil
$_ (Perl)
$ARG, $_
$~
The ~ twigil
$~MAIN
The ~ twigil
$~P5Regex
The ~ twigil
$~Quasi
The ~ twigil
$~Quote
The ~ twigil
$~Regex
The ~ twigil
$~Trans
The ~ twigil
%*ENV
Runtime environment
%*SUB-MAIN-OPTS
sub MAIN
%?RESOURCES
%?RESOURCES
%INC (Perl)
%INC
%_
Automatic signatures
& (interpolation)
Interpolation: qq
&*ARGS-TO-CAPTURE
@*ARGS
&*EXIT
$*PROGRAM
&*GENERATE-USAGE
&*ARGS-TO-CAPTURE
&?BLOCK
&?BLOCK
&?ROUTINE
&?ROUTINE
()
empty list
* literal
class Whatever
+ (Single argument rule slurpy)
Unflattened slurpy
++⚛
Atomic operators
+= (Basics)
Any and +=
-->
Constraining return types
--⚛
Atomic operators
->
syntax
.( )
methodop ». / methodop >>.
...
operators
... (forward declaration)
Type declarators
...^
operators
.DEFINITE
Starting with class
.[ ]
methodop ». / methodop >>.
.{ }
methodop ». / methodop >>.
//
infix //
0b (radix form)
String literals
0d (radix form)
String literals
0o (radix form)
String literals
0x (radix form)
String literals
6model
whitespace
:
class Pair
:!
class Pair
:$
class Pair
:$translate-nl
Newline handling in Raku
:()
class Signature
::
package
::($c).m
Interpolating into names
::()
Interpolating into names
::?CLASS
The $! variable
::Bind::Slice
class X::Bind::Slice
:a (quoting adverb)
Literal strings: Q
:api<>
subset
:array (quoting adverb)
Literal strings: Q
:auth<>
subset
:b (quoting adverb)
Literal strings: Q
:backslash (quoting adverb)
Literal strings: Q
:c (quoting adverb)
Literal strings: Q
:cached
cached
:closure (quoting adverb)
Literal strings: Q
:delete (subscript adverb)
:exists
:double (quoting adverb)
Literal strings: Q
:exec (quoting adverb)
Literal strings: Q
:exists
class Pair
:exists (subscript adverb)
Adverbs
:f (quoting adverb)
Literal strings: Q
:function (quoting adverb)
Literal strings: Q
:h (quoting adverb)
Literal strings: Q
:hash (quoting adverb)
Literal strings: Q
:heredoc (quoting adverb)
Literal strings: Q
:k (subscript adverb)
:kv
:kv (subscript adverb)
:p
:my
Capture numbers
:nl-out
Newline handling in Raku
:our
Capture numbers
:p (subscript adverb)
:delete
:q (quoting adverb)
Literal strings: Q
:qq (quoting adverb)
Literal strings: Q
:quotewords (quoting adverb)
Literal strings: Q
:s (quoting adverb)
Literal strings: Q
:scalar (quoting adverb)
Literal strings: Q
:single (quoting adverb)
Literal strings: Q
:sym<>
Proto regexes
:to (quoting adverb)
Literal strings: Q
:v (quoting adverb)
Literal strings: Q
:v (subscript adverb)
:k
:val (quoting adverb)
Literal strings: Q
:ver<>
subset
:w (quoting adverb)
Literal strings: Q
:words (quoting adverb)
Literal strings: Q
:ww (quoting adverb)
Literal strings: Q
:x (quoting adverb)
Literal strings: Q
:{}
Hash slices
< > word quote
Word quoting: < >
<->
class Block
sym
Array constructor
circumfix [ ]
class Match
S/// non-destructive substitution
S/// non-destructive substitution S/// non-destructive substitution
TR/// non-destructive transliteration
TR/// non-destructive transliteration
and
infix and
andthen
infix andthen
need
need
notandthen
infix notandthen
require
require
s/// in-place substitution
s/// in-place substitution
self
self
tr/// in-place transliteration
tr/// in-place transliteration
use
use
sym
=>
class Pair
@ list contextualizer
method list
@*ARGS
Dynamic variables
@INC (Perl)
@INC
@_
Automatic signatures
@_ (Perl)
@ARG, @_
A."$m"()
Interpolating into names
ALAP
IRC lingo
API
Anonymous
ARGS-TO-CAPTURE
Intercepting CLI argument parsing (2018.10, v6.d and later)
ASCII operator
Arity
Abstract Class
Glossary
Actions
Passing arguments into grammars
Addition operator
infix +
Admonitory stub operator
listop !!!
Advent Calendar
Abstract class
Adverb
Advent calendar
Adverbial Pair
Adverb
All junction operator
infix &
Allomorph
Adverbial pair
Anonymous
Allomorph
Any (Basics)
Any and +=
Any junction operator
infix |
Apocalypse
API
Argument
Arguments
Arity
Apocalypse
Asynchronous Phasers
LAST QUIT CLOSE DOC
Attribute
Attributes
Autothreading
ASCII operator
BUILD
Constructors
Backtracking
Autothreading
Baggy addition operator
infix (+), infix ⊎
Baggy multiplication operator
infix (.), infix ⊍
BigEndian
enum Endian
Binding operator
infix :=
Books
Where can I find good documentation on Raku?
Boolean
enum Bool
Boolean (literals)
Adverbial pairs (colon pairs)
Boolean bitwise negation operator
prefix ?^
Boolean context
Boolean
Boolean context operator
prefix ?
Boolean logical AND operator
infix ?&
Boolean logical OR operator
infix ?|
Boolean logical XOR operator
infix ?^
Bot
backlog
Build.pm6
Preparing the module
C and C++ (FAQ)
Can I use Perl modules from Raku?
CALLER (package)
Pseudo-packages
CALLERS (package)
Pseudo-packages
CATCH
Typed exceptions
CArray
Arrays
CArray methods
Arrays
CLIENT (package)
Pseudo-packages
COMPILING(package)
Pseudo-packages
CORE (package)
Pseudo-packages
CPAN (FAQ)
Modules
CPPStruct
is repr and native representations.
CPointer
is repr and native representations.
CStruct
is repr and native representations.
CStruct (native representation)
Passing and returning values
CUnion
is repr and native representations.
Camelia
bytecode
Circular dependencies (FAQ)
What is precompilation?
Coercion type
Coercion type
Colon List
Camelia
Colon Pair
Camelia
Community
Colon pair and colon list
CompUnit (Rakudo classes)
CompUnit::* modules and roles
Constraint
Parameter separators
Container identity operator
infix =:=
Core standard library (FAQ)
Where have all the traditional UNIX library functions gone?
Coroutine (FAQ)
"Type Str does not support associative indexing."
Creating grammars
Creating grammars
Cursor
class Match
DEFINITE
Starting with class
DESTROY
Classes and objects
DESTROY metamodel
role Metamodel::Finalization
DWIM
Compilation unit or compunit
DYNAMIC (package)
Pseudo-packages
Damian Conway
Community
Data::Dumper (FAQ)
Language features
Date and time functions
Date and time functions
Date ranges
Date and time functions
Distribution
%?RESOURCES
Divisibility operator
infix %%
Division operator
infix /
Dynamically scoped variables
Twigils
Emacs
Emacs
Embedded comments
Single-line comments
Encoding::Decoder
method name
Encoding::Encoder
method name
Endian
enum Endian
Enumeration
As type constraints
Exegesis
diffy
FAILGOAL
Tilde for nesting structures
FALLBACK (method)
Fallback method
FALLBACK (trait handles)
trait handles
FQN
Methods
FSVO
fossil
FTFY
FSVO
False
enum Bool
Fatal stub operator
listop ...
File locking
routine lines
FileChangeEvent (enum)
class IO::Notification
FileChanged (FileChangeEvent)
class IO::Notification
FileRenamed (FileChangeEvent)
class IO::Notification
Forward declarations
Type declarators
Futures
High-level APIs
GENERATE-USAGE
sub RUN-MAIN
GLOBAL (package)
Pseudo-packages
Generic, "smart" three-way comparator
infix cmp
Grapheme
routine chars
HAS
declarator
HOW (reserved method)
Fallback method
Handle
fiddly
Huffmanize
Handle
IIRC
gradual typing
IMHO
IIRC
IPC
Inter-process communication
IRC
Invocant
IRC lingo
IRC
IWBN
IMHO
Inf (definition)
class Num
Integer bitwise OR operator
infix +|
Integer bitwise XOR operator
infix +^
Integer bitwise negation operator
prefix +^
Integer division operator
infix div
Integer modulo operator
infix mod
Interface
Instance
Intersection operator
infix (&), infix ∩
Introspection
Metaobject protocol (MOP)
Invocant
Interface
IterationEnd
role Iterator
Junction (FAQ)
What is the --> thing in the signature?
LEXICAL (package)
Pseudo-packages
LGTM
LHF
LHF
IWBN
LHS
Literal
LTA
LGTM
Larry Wall
WW
Left-open range operator
infix ^..
Less
enum Order
Lexing
Larry Wall
List assignment operator
List prefix precedence
List repetition operator
infix xx
Literal
Lexing
LittleEndian
enum Endian
Long names
Long names
Loose
Thunk
MAIN
Creating / showing usage information if calling MAIN failed
META6.json
Preparing the module
MMD
MoarVM
MONKEY
pragma
MONKEY-GUTS
pragma
MONKEY-SEE-NO-EVAL
pragma
MONKEY-TYPING
pragma
MOP
Metaobject protocol (MOP)
MRO
Inheritance
MY (package)
Pseudo-packages
Mainline
lvalue
Mayspec
Mainline
Member
Attributes
Membership operator
infix (elem), infix ∈ infix (cont), infix ∋
Mixins
Mixins of roles
MoarVM
Mayspec
Modulo operator
infix %
More
enum Order
Multi-Dispatch
MoarVM
Multiplication operator
infix *
NFC
Normalization
NFG
Née
NQP
Niecza
NQP (FAQ)
What language is Rakudo written in?
NQP_HOME
Other
NST
LTA
NYI
NQP
NaN (definition)
NaN
NativeEndian
enum Endian
Negated Boolean context operator
prefix !
Negative numeric context operator
prefix -
Niecza
NFG
Nil assignment
class Nil
Non-membership operator
infix ∉ infix ∌
Normalization
Filehandles and I/O
Not Quite Perl
Not Quite Perl
Not a subset of nor equal to operator
infix ⊈
Not a subset of operator
infix ⊄
Not a superset of nor equal to operator
infix ⊉
Not a superset of operator
infix ⊅
Number (literals)
String literals
Number literals
Number literals
Numeric bitwise AND operator
infix +&
Numeric context operator
prefix +
Numeric equality operator
infix ==
Numeric greater than operator
infix >
Numeric greater than or equal to operator
infix >=, infix ≥
Numeric inequality operator
infix !=, infix ≠
Numeric less than operator
infix <
Numeric less than or equal to operator
infix <=, infix ≤
Numeric three-way comparator
infix <=>
Née
multi-method
OOP
Classes and objects
OUR (package)
Pseudo-packages
OUTER (package)
Pseudo-packages
OUTERS (package)
Pseudo-packages
One junction operator
infix ^
Open range operator
infix ^..^
Operator
opcode
Opt
NST
Overriding default gist method
Overriding default gist method
P5
PR
P6
P5
P6opaque
is repr and native representations.
PARENT (package)
Pseudo-packages
PAST
Parrot
PATH
Other
PB
Opt
PERL
Perl 6
PERL6LIB
Perl module library path Module loading
PERL6_EXCEPTIONS_HANDLER
Error message verbosity and strictness
POD
PERL
POV
POD
PR
PB
PROCESS (package)
Pseudo-packages
Pair
class Pair
Pair literals
Pair literals
Pairs (literals)
Complex literals
Parameter
Parse tree
Parameterized Roles
Automatic role punning
Parrot
Parameter
Parse Tree
Operator
Perl
PAST
Perl modules (FAQ)
Is there a perldoc (command line documentation viewer) for Raku?
Perl 6
Perl
Phasers
will trait BEGIN CHECK INIT END ENTER LEAVE KEEP UNDO PRE POST FIRST NEXT LAST CATCH CONTROL COMPOSE
Precompile (FAQ)
Is there something like B::Deparse/How can I get hold of the AST?
Private methods
self
Property
Attributes
Propspec
POV
Pull request
Propspec
Python
Control flow Lambdas, functions and subroutines List comprehensions Classes and objects Decorators Context managers input Tuples
QAST
pugs
R
reverse metaoperator
RAKUDOLIB
Module loading
RAKUDO_BACKTRACE_SETTING
Error message verbosity and strictness
RAKUDO_DEFAULT_READ_ELEMS
Other
RAKUDO_DEPRECATIONS_FATAL
Error message verbosity and strictness
RAKUDO_DISABLE_MULTILINE
Line editor
RAKUDO_ERROR_COLOR
Other
RAKUDO_HIST
Line editor
RAKUDO_HOME
Other
RAKUDO_LINE_EDITOR
Line editor
RAKUDO_LOG_PRECOMP
Affecting precompilation
RAKUDO_MAX_THREADS
Other
RAKUDO_MODULE_DEBUG
Module loading
RAKUDO_NO_DEPRECATIONS
Error message verbosity and strictness
RAKUDO_PRECOMP_DIST
Affecting precompilation
RAKUDO_PRECOMP_LOADING
Affecting precompilation
RAKUDO_PRECOMP_WITH
Affecting precompilation
RAKUDO_PREFIX
Affecting precompilation
RAKUDO_SNAPPER
Other
RAKUDO_VERBOSE_STACKFRAME
Error message verbosity and strictness
RAKULIB
Module loading
RAKU_EXCEPTIONS_HANDLER
Error message verbosity and strictness
RHS
Repository
RSN
P6
RT
RSN
RUN-MAIN
Intercepting usage message generation (2018.10, v6.d and later)
Raku Distribution (FAQ)
Can I compile my script to a standalone executable?
Raku Implementation (FAQ)
How do most people enter unicode characters?
Rakudo
Raku and Perl 6 (FAQ) QAST
Rakudo Star DMG binary installer (FAQ)
When was v6.d released?
Rakudo Star MSI binary installer (FAQ)
When was v6.d released?
Rakudo Star distribution and compiler-only release (FAQ)
Where have all the traditional UNIX library functions gone?
Rakudo Star docker image (FAQ)
When was v6.d released?
Rakudo Star for Linux (FAQ)
When was v6.d released?
Rakudo Star for Mac (FAQ)
When was v6.d released?
Rakudo Star for Windows (FAQ)
When was v6.d released?
Rakudo Star release cycle (FAQ)
Raku distribution
Range operator
infix ..
Read-only binding operator
infix ::=
Regular Expressions
Regexes
Reify
Rakudo
Repository
Reify
Return type arrow
Constraining return types
Right-open range operator
infix ..^
Ruby Quickstart (FAQ)
I'm a Perl programmer. Where is a list of differences between Perl and Raku?
Running programs
Running programs
S
sequential metaoperator
SAP
rvalue
SETGOAL
Tilde for nesting structures
SETTING (package)
Pseudo-packages
STD
Spesh
Safe call operator
methodop .?
Same
enum Order
SeekFromBeginning
method write
SeekFromCurrent
method write
SeekFromEnd
method write
Semilist
SAP
Set difference operator
infix (-), infix ∖
Set equality operator
infix (==), infix ≡
Set inequality operator
infix ≢
Shaped arrays
Typing
ShiftJIS
method encoding
Short-circuit exclusive-or
infix ^^
Sigil
Semilist
Sigilless Variable
Sigil
Sigils (FAQ)
What's up with array references and automatic dereferencing? Do I need the @ sigil?
Signal
sub signal
Single Argument Rule
Single Argument Rule
Slot
Attributes
SlurpySentry
method from-slurpy
Special Variables (Perl)
SPECIAL VARIABLES
Specification (FAQ)
Can I get some books about Raku?
Spesh
Sigilless variable
String (literals)
Literals
String context operator
prefix ~
String equality operator
infix eq
String greater than operator
infix gt
String greater than or equal to operator
infix ge
String inequality operator
infix ne
String less than operator
infix lt
String less than or equal to operator
infix le
String repetition operator
infix x
String three-way comparator
infix leg
Stub
STD
Submethods
Private methods
Subset of operator
infix (<), infix ⊂
Subset of or equal to operator
infix (<=), infix ⊆
Subtraction operator
infix -
Superset of operator
infix (>), infix ⊃
Superset of or equal to operator
infix (>=), infix ⊇
Symbol
Stub
Symmetric set difference operator
infix (^), infix ⊖
Synopsis
Symbol
Syntax Analysis
Synopsis
TEMP
Other
TIMTOWTDI
RT
TMI
TIMTOWTDI
TMP
Other
TMPDIR
Other
TMTOWTDI
TMI
TOP
TOP
TWEAK
Object construction
Texas operator
ASCII operator
TheDamian
Test suite
Thunk
token
Tight
Thunk
TimToady
TheDamian
Token
TimToady
Trait is default
Trait is default
True
enum Bool
Twigil
Twigils
Type Capture (role)
Parameterized
Type Objects
twine
Type Smiley
Type objects
Type capture
Single argument rule slurpy
Type objects
Using objects
UB
value
UGT
TMTOWTDI
UNIT (package)
Pseudo-packages
USAGE
Unit-scoped definition of MAIN
UTF-8 Clean-8
UTF8-C8
UTF8-C8
Normalization
Uninstantiable representation trait
is applied to classes.
Union operator
infix (|), infix ∪
Unquoting
Heredocs: :to
VAR (reserved method)
Fallback method
Value identity operator
infix ===
Value type
UB
Variable
Value type
Variable Interpolation
Variable
Vim
Vim
Virtual Machine
Variable interpolation
WAT
Virtual machine
WFM
UGT
WHAT (reserved method)
Fallback method
WHO (reserved method)
Fallback method
WIP
WFM
WP
WIP
WW
WP
Whatever literal
class Whatever
Whatever-currying
class Whatever
WinCompose
WinCompose (Windows)
X
operators
X (cross metaoperator)
Cross metaoperators
X::Proc::Async::OpenForWriting
class X::Proc::Async::OpenForWriting
XCompose
XCompose (Linux)
Xkb
XKB (Linux)
Z (zip metaoperator)
Zip metaoperator
Zen slices
Truncating slices
Zip operator
infix Z
[ ] (typed array)
Typing
[+] (reduction metaoperators)
Hyper operators
[\] (triangular reduction metaoperators)
Reduction metaoperators
[] (reduction metaoperators)
Hyper operators
\ (container binding)
Binding
\ (quoting)
Interpolation: qq
\ (sigilless scalar)
class Scalar
\ (sigilless variables)
Sigilless variables
\() (Capture)
class Capture
\c[] unicode name
Entering unicode codepoints and codepoint sequences
^...
operators
^...^
operators
^methods
Introspection
^…
operators
^…^
operators
__FILE__ - perlfunc
fcntl
__LINE__ - perlfunc
length
__PACKAGE__ - perlfunc
package
__SUB__ - perlfunc
sub
abs - perlfunc
Filetests
accept - perlfunc
abs
accessor methods
State
alarm - perlfunc
accept
also declarator
The also declarator
anon state variables
The state declarator
anonymous arguments
Type constraints
argument aliases
Positional vs. named arguments
array (Basics)
Arrays, methods and invocants
array indexing operator
postcircumfix [ ]
array subscript operator
postcircumfix [ ]
ascii
method encoding
assignment (Basics)
Filehandle and assignment
atan2 - perlfunc
alarm
attributes
Starting with class
autopun
ALAP
autovivification (Basics)
Fat arrow, pairs and autovivification
backlog
autopun
behavior
Starting with class
bind - perlfunc
atan2
binder
Backtracking
binmode - perlfunc
bind
bless
Constructors
bless - perlfunc
binmode
blob16
role Blob
blob32
role Blob
blob64
role Blob
blob8
role Blob
block
Lexical scope and block binder
block (Basics)
for and blocks
block constructor
term { }
break - perlfunc
bless
buf16
role Buf
buf32
role Buf
buf64
role Buf
buf8
role Buf
but
Parameterized roles
byte
Types with native representation
bytecode
block
call operator
postcircumfix ( )
caller - perlfunc
break
capture literal (Capture)
class Capture
case statements (given)
supply/emit
chdir - perlfunc
caller
chmod - perlfunc
chdir
chomp - perlfunc
chmod
chop - perlfunc
chomp
chr - perlfunc
chop
chroot - perlfunc
chr
circumfix operator
Operator classification
class
Starting with class
class variables
State
class-qualified method call
methodop .::
classes
Starting with class has behavior attributes encapsulation accessors methods inheritance is
close - perlfunc
chroot
closedir - perlfunc
close
closures
Infix form
collation levels
method collate
colon list (Pair)
class Pair
colon pair (Pair)
class Pair
command line arguments
Command line interface
command-line argument bundling
named-anywhere
compilation unit
Bot
compunit
Basic structure
compunit (glossary)
Bot
connect - perlfunc
closedir
constant (Prefix)
The let prefix
constant (Terms)
Variables
constants
Variables
constants (syntax)
The let prefix
constructors
Private methods
continue - perlfunc
connect
control flow
statements blocks Phasers do start if else elsif unless with orwith without when for gather take supply emit given default when proceed succeed given statement loop while until repeat return return-rw fail once quietly next last redo
cos - perlfunc
continue
cross product operator
infix Z
crypt - perlfunc
cos
dbm - perlfunc
crypt
dd
The trace pragma
declarator
unit (MAIN) sub multi proto only token rule class role regex unit module package role (typesystem)
declarator blocks
#| #=
declaring a list of variables
The our declarator
decont
Damian Conway
defined - perlfunc
dbm functions
defined-or operator
infix //
delegation (trait handles)
Inheritance
delete - perlfunc
defined
deref
Typed pointers
destructuring arguments
Dynamic variables
destructuring assignment
Declaring a list of variables with lexical (my) or package (our) scope
die - perlfunc
delete
diffy
decont
dispatch
callsame callwith nextsame nextwith samewith nextcallee wrapped routines
do (statement prefix)
do
do - perlfunc
die
does
Roles
does-ok
By role
double-quoted strings (Basics)
Double-quoted strings and single-quoted strings
dump - perlfunc
do
dumper
The trace pragma
dynamic subset
subset
dynamic-scope, pragma
MONKEY
each - perlfunc
dump
eager (statement prefix)
eager
ecosystem
Modules
empty set
term ∅
encapsulation
Starting with class
eof - perlfunc
each
equivalence operator
infix eqv
error variable
Named attributes
escaping characters
Enumerated character classes and ranges
escaping quote
Literal strings: Q
eval - perlfunc
eof
evalbytes - perlfunc
eval
exec - perlfunc
evalbytes
exists - perlfunc
exec
exit - perlfunc
exists
exp - perlfunc
exit
experimental
pragma
exponentiation operator
infix ** sub infix:<**>
extra named arguments
class Method
fat arrow (Basics)
Fat arrow, pairs and autovivification
fatal
pragma
fc - perlfunc
exp
fcntl - perlfunc
fc
feed
infix ==>
fiddly
Exegesis
filehandle (Basics)
Filehandle and assignment
fileno - perlfunc
__FILE__
filetests - perlfunc
Alphabetical listing of Perl functions
flap
DWIM
flattening
Multiple dimensions
flock - perlfunc
fileno
foo
Adding definitions
for (Basics)
for and blocks
fork - perlfunc
flock
formats - perlfunc
fork
fossil
flap
function composition operator
infix o, infix ∘
gather (statement prefix)
gather
get and set - perlfunc
getpriority
getc - perlfunc
formats
getpeername - perlfunc
getc
getpgrp - perlfunc
getpeername
getppid - perlfunc
getpgrp
getpriority - perlfunc
getppid
getsock - perlfunc
get and set functions
glob - perlfunc
getsock*
gmtime - perlfunc
glob
goto - perlfunc
gmtime
gradual typing
FTFY
greatest common divisor operator
infix gcd
grep - perlfunc
goto
grouping operator
term ( )
handles trait
trait handles
has
Starting with class
hash (Basics)
Hashes
hash constructor
term { }
hash indexing operator
postcircumfix { }
hash subscript operator
postcircumfix { }
hex - perlfunc
grep
hidden-from-USAGE
bundling
hyper
<< >> « »
hyper (statement prefix)
hyper, race
hyper method call operator
methodop ». / methodop >>.
ibus
ibus
identifier
identifiers
identifiers (Basics)
Sigils and identifiers
iffy
Huffmanize
import
iffy When to use modules
import - perlfunc
hex
in-range
Matching against Ranges
index - perlfunc
import
indirect invocant syntax
Methods
infix
þ
infix operator
Operator classification
instance
import
int
Raku native types
int - perlfunc
index
int @
Types with native representation
int16
Types with native representation
int32
Types with native representation
int64
Types with native representation
int8
Types with native representation
integer bit shift operator
left right
internals
pragma
interpolating into names
Interpolating into names
invocant
Methods pragma
invocant (Basics)
Arrays, methods and invocants
ioctl - perlfunc
int
is (trait)
The is trait
is (type of variable)
Sigils
is assoc (trait)
Associativity
is default (Attribute)
Traits
is default (Routine)
trait is hidden-from-backtrace
is default (Variable)
trait is default
is equiv
Defining operators
is implementation-detail
traits
is itemized?
VAR
is looser
Defining operators
is native
Getting started
is nativesize
Types with native representation and size
is repr
Passing and returning values
is rw (class)
trait is rw
is tighter
Defining operators
isms
pragma
iso-8859-1
method encoding
item =
Item assignment precedence
join - perlfunc
ioctl
keys - perlfunc
join
kill - perlfunc
keys
last - perlfunc
kill
laziness in Iterable objects
Slips
lazy (statement prefix)
lazy
lazy list
gather take
lc - perlfunc
last
lcfirst - perlfunc
lc
least common multiple operator
infix lcm
leftward feed
infix <==
length - perlfunc
lcfirst
lib
pragma
link (method)
routine symlink
link (sub)
routine symlink
link - perlfunc
__LINE__
list =
List prefix precedence
list context
List
listen - perlfunc
link
local - perlfunc
listen
localtime - perlfunc
local
lock - perlfunc
localtime
log - perlfunc
lock
lstat - perlfunc
log
lvalue
LHS
m// - perlfunc
lstat
macros
macros
mandatory named argument
Optional and mandatory arguments
map - perlfunc
m//
match variable
The $_ variable
matching adverb
:1st :2nd :3rd :nth :continue :c :exhaustive :ex :global :g :pos :p :overlap :ov
metamethod call
methodop .^
method
defined
method (Basics)
Arrays, methods and invocants
method (declarator)
Private attributes
method call
methodop .
method operators
Operator classification
methodop .&
methodop .
methodop .*
methodop .+
methodop .+
methodop .?
methodop .?
methodop .^
methodop .^
methodop .=
methodop >>.
methodop .*
methodop ».
methodop .*
methods
Methods
mkdir - perlfunc
map
msg* - perlfunc
mkdir
multi-method
Multi-dispatch
mutating method call
methodop .=
my (Basics)
Lexical scope and block
my (Sub)
class Sub
my - perlfunc
msg*
named argument
Type captures
named regex
class Regex
named-anywhere
%*SUB-MAIN-OPTS
nameless variables
The state declarator
native (trait)
Getting started
native array
Types with native representation
nativecall
Getting started
new (method)
Delegation
newline
pragma
next - perlfunc
my
no - perlfunc
next
non-string keys
Hash slices
nqp
pragma
num
Raku native types
num @
Types with native representation
num32
Types with native representation
num64
Types with native representation
number context
Number
o
operators
object hash
Hash slices
objects
bless
oct - perlfunc
no
once (statement prefix)
once
only method
Inheritance and multis
opcode
NYI
open - perlfunc
oct
opendir - perlfunc
open
operator
ternary conditional flipflop
operators
.
optional argument
Argument aliases
ord - perlfunc
opendir
orelse
infix or
our (Sub)
class Sub
our - perlfunc
ord
p6doc (FAQ)
Is there a CPAN (repository of third party library modules) for Raku?
pack
pack
pack - perlfunc
our
package - perlfunc
pack
pair (Basics)
Fat arrow, pairs and autovivification
pair constructor
infix =>
parameter
*@ *% **@ |
parameters
pragma
perldoc (FAQ)
Is there a CPAN (repository of third party library modules) for Raku?
pipe - perlfunc
__PACKAGE__
pointy blocks
Subroutines
pop - perlfunc
pipe
pos - perlfunc
pop
positional argument
Type captures
postcircumfix operator
Operator classification
postfix ++
postfix ++
postfix --
postfix --
postfix decrement operator
postfix ++
postfix increment operator
prefix --
postfix operator
Operator classification
postfix operator call
methodop .postfix / .postcircumfix
postincrement (Basics)
Postincrement and preincrement
precompilation
pragma
prefix &
Functions are first-class objects
prefix ++
prefix ++
prefix --
prefix --
prefix decrement operator
prefix ++
prefix increment operator
Autoincrement precedence
prefix operator
Operator classification
preincrement (Basics)
Postincrement and preincrement
print - perlfunc
pos
printf - perlfunc
print
property
Pull request
prototype - perlfunc
printf
pugs
property
push - perlfunc
prototype
qr (Perl)
quoting
quasi (macros)
macros
quietly (statement prefix)
quietly
quote
Q 「 」 q ' ' qq " " qww qqw qqww << >> « » qx qqx heredocs :to / / rx m s/ / /
quote-words
term < >
quoting - perlfunc
push
qw
term < >
qw word quote
Word quoting: qw
race (statement prefix)
hyper, race
rakubrew (FAQ)
As a Raku user, what should I install?
rakudobrew (FAQ)
As a Raku user, what should I install?
rakudoc
INTRODUCTION
rakudow.exe
WINDOWS PECULIARITIES
rakuw.exe
WINDOWS PECULIARITIES
rand - perlfunc
quoting
react
whenever
react (statement prefix)
react
read - perlfunc
rand
readdir - perlfunc
read
readline - perlfunc
readdir
readlink - perlfunc
readline
readpipe - perlfunc
readlink
recv - perlfunc
readpipe
redo - perlfunc
recv
ref - perlfunc
redo
regex
. \n \N \t \T \h \H \v \V \s \S \d \D \w \W \c \C \x \X <:property> <[ ]> <-[ ]> % %% : ? || | && & ^ $ ^^ $$ <|w> << positive lookaround assertion negative lookaround assertion before after ( ) [ ] Named captures <( )> tilde recursive tilde tilde ~~ <~~> Regex Interpolation $variable $(code) <$variable> <{code}> Regex adverbs
regex adverb
:ignorecase :i :ignoremark :m :ratchet :r :sigspace :s
regex deprecated
\b \B \K
regex quantifier
+ * ? **
rename - perlfunc
ref
repr
Passing and returning values
requires - perlfunc
rename
reset - perlfunc
requires
resume (Exceptions)
try blocks
return - perlfunc
reset
return-rw
trait is rw
reverse - perlfunc
return
rewinddir - perlfunc
reverse
rindex - perlfunc
rewinddir
rmdir - perlfunc
rindex
roast
RHS
role
roast
rule
Roles
rvalue
rule
s/// - perlfunc
rmdir
say - perlfunc
s///
scalar (Basics)
Scalar
scalar - perlfunc
say
seek - perlfunc
scalar
seekdir - perlfunc
seek
select - perlfunc
seekdir
semget - perlfunc
semctl
semop - perlfunc
semget
send - perlfunc
semop
sequence operator
infix ...
setpgrp - perlfunc
send
setpriority - perlfunc
setpgrp
setsockopt - perlfunc
setpriority
shift - perlfunc
setsockopt
shm* - perlfunc
shift
shutdown - perlfunc
shm*
sigil
$ @ % &
sigils
&
sigils (Basics)
Sigils and identifiers
signature literal
class Signature
sin - perlfunc
shutdown
single-quoted strings (Basics)
Double-quoted strings and single-quoted strings
sink (statement prefix)
sink
sink context
Sink
sinking
Sink
sleep - perlfunc
sin
slurpy argument
Coercion type
smartmatch operator
infix =:=
sockets - perlfunc
sleep
soft
pragma
sort - perlfunc
sockets
spaceship operator
infix <=>
splice - perlfunc
sort
split - perlfunc
splice
sprintf - perlfunc
split
sqrt - perlfunc
sprintf
srand - perlfunc
sqrt
start (statement prefix)
start
state
Starting with class
state - perlfunc
stat
statement (Basics)
Statements
str
Raku native types
str @
Types with native representation
strict
pragma
string concatenation operator
infix ~
string context
String
string literal (Basics)
String literals
stub operator
infix ::=
study - perlfunc
state
sub - perlfunc
study
sub EXPORT
EXPORT
sub-signature
Destructuring arguments
submethod DESTROY
Classes and objects
subset
subset
substitution adverb
:samecase :ii :samemark :mm :samespace :ss
substr - perlfunc
__SUB__
supersede
The ~ twigil
supply (on-demand)
Supplies
supply (statement prefix)
supply
switch (given)
supply/emit
symlink (method)
method Int
symlink (sub)
method Int
symlink - perlfunc
substr
syntax
WHAT WHICH WHO WHERE HOW WHY DEFINITE VAR \ Unspace
sys* - perlfunc
syscall
syscall - perlfunc
symlink
system - perlfunc
sys*
syswrite - perlfunc
system
tell - perlfunc
syswrite
telldir - perlfunc
tell
test suite
Syntax analysis
tie - perlfunc
telldir
time - perlfunc
tie
times - perlfunc
time
topic variable
Pre-defined lexical variables
topic variable (Basics)
Topic variable
tr/// - perlfunc
times
trace
pragma
trait
is required (Attribute) is DEPRECATED (Attribute) is rw (Attribute) is built (Attribute) is copy is rw is raw is readonly
trait_mod (declarator)
Traits
traits
is rw
truncate - perlfunc
tr///
try (statement prefix)
try
try blocks
Exception handlers and enclosing blocks
tty
method t
twigils
State ! . accessors
twine
Tight and loose precedence
type constraint
Parameter separators :D :U :_
type object
Starting with class
typed array
Typing
uc - perlfunc
truncate
ucfirst - perlfunc
uc
uint
Raku native types
uint16
Types with native representation
uint32
Types with native representation
uint64
Types with native representation
uint8
Types with native representation
undef - perlfunc
ucfirst
unlink - perlfunc
undef
unpack - perlfunc
unlink
unquoting (macros)
macros
unshift - perlfunc
unpack
untie - perlfunc
unshift
upto operator
prefix ^
use - perlfunc
untie
use lib
Finding installed modules
use soft (pragma)
Routines
utf-16
utf16, utf16le and utf16be
utf16
utf16, utf16le and utf16be
utf16-be
utf16, utf16le and utf16be
utf16-le
utf16, utf16le and utf16be
utf16be
utf16, utf16le and utf16be
utf16le
utf16, utf16le and utf16be
utime - perlfunc
use
v (version)
class Version
v6
pragma
v6 (Basics)
Pragma v6
v6.d (FAQ)
Is there a Raku version 6.0.0?
v6.x
pragma
value
Type smiley
values - perlfunc
utime
variable
$0 $1 $
variable interpolation (Basics)
Variable interpolation
variables
pragma
variadic
Slurpy parameters
vec - perlfunc
values
void type (NativeCall)
Types with native representation and size
wait - perlfunc
vec
waitpid - perlfunc
wait
wantarray - perlfunc
waitpid
warn - perlfunc
wantarray
whenever
Supplies
where clause
Type constraints
whitespace
WAT
windows-1251
method encoding
windows-1252
method encoding
windows-932
method encoding
with orwith without
with orwith without
worries
pragma
write - perlfunc
warn
ws
TOP
y/// - perlfunc
write
zef
Upload your module to p6c
{{{}}} (macros)
macros
«
Other acceptable single codepoints
«=«
Multiple codepoints
«=»
Reversed operators Multiple codepoints
¯
Other acceptable single codepoints
²
Other acceptable single codepoints
³
Other acceptable single codepoints
¹
Other acceptable single codepoints
»
Other acceptable single codepoints
»=«
Reversed operators Multiple codepoints
»=»
Multiple codepoints
×
Other acceptable single codepoints
÷
Other acceptable single codepoints
π
Other acceptable single codepoints
τ
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
operators Other acceptable single codepoints
…^
operators
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
term ∅
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
∞ (definition)
class Num
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Other acceptable single codepoints
Atomic operators
⚛++
Atomic operators
⚛+=
Atomic operators
⚛--
Atomic operators
⚛-=
Atomic operators
⚛=
Atomic operators
⚛−=
Atomic operators
Other acceptable single codepoints
Other acceptable single codepoints
𝑒
Other acceptable single codepoints