File indexing completed on 2024-05-12 04:02:07

0001 <!DOCTYPE html>
0002 <html><head>
0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
0004 <title>highlight.raku</title>
0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Raku) - Theme (Breeze Dark)"/>
0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre>
0007 <span style="font-weight:bold">#!/usr/bin/perl6</span>
0008 
0009 <span style="font-weight:bold">use</span> v6;
0010 
0011 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="font-weight:bold">True</span> {
0012     <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Hello</span><span style="color:#3daee9">"</span>;
0013 }
0014 
0015 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="font-weight:bold">True</span> {
0016 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Hello</span><span style="color:#3daee9">"</span>; <span style="color:#7a7c7d"># Bad indentation intended</span>
0017         }
0018 
0019 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="font-weight:bold">True</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Hello</span><span style="color:#3daee9">"</span> }
0020 
0021 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="font-weight:bold">True</span> {<span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Hello</span><span style="color:#3daee9">"</span>}
0022 
0023 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="font-weight:bold">True</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Hello</span><span style="color:#3daee9">"</span> } <span style="color:#fdbc4b;font-weight:bold">else</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Goodbye</span><span style="color:#3daee9">"</span> }; <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">world</span><span style="color:#3daee9">"</span>;
0024 
0025 <span style="color:#7a7c7d">## </span><span style="color:#2980b9;background-color:#153042">BEGIN</span><span style="color:#7a7c7d"> Comments</span>
0026 
0027 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span> <span style="color:#7a7c7d">#`( blah </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#7a7c7d"> blah</span>
0028 <span style="color:#7a7c7d">here? )</span> <span style="color:#f67400">2</span> ;
0029 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span> <span style="color:#7a7c7d">#`{{ blah </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#7a7c7d"> blah</span>
0030 <span style="color:#7a7c7d">here? }}</span> <span style="color:#f67400">2</span> ;
0031 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span> <span style="color:#7a7c7d">#`[[ blah </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#7a7c7d"> blah ]</span>
0032 <span style="color:#7a7c7d">here? ]]</span> <span style="color:#f67400">2</span> ;
0033 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span> <span style="color:#7a7c7d">#`««« blah </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#7a7c7d"> blah</span>
0034 <span style="color:#7a7c7d">here? »»»</span> <span style="color:#f67400">2</span> ;
0035 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span> <span style="color:#7a7c7d">#` ( blah </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold">TODO</span><span style="color:#7a7c7d"> blah</span>
0036 <span style="color:#f67400">2</span> ;
0037 
0038 <span style="color:#7a7c7d">#`[</span>
0039 <span style="color:#7a7c7d">  This is another multi-line comment. ]</span>
0040 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@sorted</span> <span style="color:#3f8058">=</span> <span style="color:#27aeae">@names</span><span style="color:#3f8058">.</span>sort({ <span style="color:#27aeae">%sets</span>{<span style="color:#27aeae">$_</span>} })<span style="color:#3f8058">.</span>sort({ <span style="color:#27aeae">%matches</span>{<span style="color:#27aeae">$_</span>} })<span style="color:#3f8058">.</span>reverse;
0041 <span style="color:#7a7c7d">#`{ So is this, though it's not actually multi-line. }</span>
0042 
0043 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">code again</span><span style="color:#3daee9">'</span>;
0044 
0045 <span style="color:#7a7c7d">#`(  Multiple line comments `( sub-comment )`)</span>`
0046 
0047 <span style="color:#7a7c7d">## </span><span style="color:#2980b9;background-color:#153042">END</span><span style="color:#7a7c7d"> Comments</span>
0048 
0049 <span style="color:#7a7c7d">#`[</span>
0050 <span style="color:#7a7c7d">And this is how a multi would work.</span>
0051 <span style="color:#7a7c7d">That says why we do what we do below.</span>
0052 <span style="color:#7a7c7d">]</span>
0053 
0054 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">No more</span><span style="color:#3daee9">"</span>;
0055 
0056 <span style="color:#7a7c7d">#`{{a}a}}</span> <span style="color:#8e44ad">say</span> ok
0057 
0058 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">No more</span><span style="color:#3daee9">"</span>;
0059 
0060 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">this is code</span><span style="color:#3daee9">"</span>;
0061 
0062 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">pod</span>
0063 
0064 <span style="color:#a43340">A very simple Pod6 document</span>
0065 
0066 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">pod</span>
0067 
0068 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">head1</span>
0069 <span style="color:#a43340">Top Level Heading</span>
0070 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">head1</span>
0071 
0072 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> Top level heading</span>
0073 
0074 <span style="color:#a43340">=</span><span style="color:#3f8058">for</span> <span style="color:#3f8058">head1</span>
0075 <span style="color:#7f8c8d">Top Level Heading</span>
0076 
0077 <span style="color:#a43340">=</span><span style="color:#da4453;text-decoration:underline">cutsdads</span>
0078 
0079 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">pod</span>
0080 
0081 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> This is a head1 title</span>
0082 
0083 <span style="color:#a43340">This is a paragraph.</span>
0084 
0085 <span style="color:#a43340">=</span><span style="color:#3f8058">head2</span><span style="color:#7f8c8d"> Subsection</span>
0086 <span style="color:#7f8c8d"># plop</span>
0087 <span style="color:#7f8c8d">Here some text for the subsection.</span>
0088 
0089 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">pod</span>
0090 
0091 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">caption</span><span style="color:#3f8058">&lt;</span><span style="color:#7f8c8d">My Tasks</span><span style="color:#3f8058">></span>
0092 <span style="color:#a43340">mow lawn</span>
0093 <span style="color:#a43340">take out trash</span>
0094 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">table</span>
0095 
0096 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> This is a heading block</span>
0097 <span style="color:#7f8c8d">This is an ordinary paragraph.</span>
0098 <span style="color:#7f8c8d">Its text will be squeezed and</span>
0099 <span style="color:#7f8c8d">short lines filled. It is terminated by</span>
0100 <span style="color:#7f8c8d">the first blank line.</span>
0101 
0102 <span style="color:#a43340">=</span><span style="color:#3f8058">head2</span><span style="color:#7f8c8d"> This is another heading block</span>
0103 <span style="color:#7f8c8d">This is yet another ordinary paragraph,</span>
0104 <span style="color:#7f8c8d">at the first virtual column set by the</span>
0105 <span style="color:#7f8c8d">previous directive</span>
0106 
0107 <span style="color:#7a7c7d">#</span><span style="color:#3f8058">|</span><span style="color:#7a7c7d"> Base class for magicians</span>
0108 <span style="font-weight:bold">class</span> <span style="color:#2980b9">Magician</span> {
0109   <span style="font-weight:bold">has</span> <span style="color:#2980b9">Int</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">.</span><span style="color:#27aeae">level</span>;
0110   <span style="font-weight:bold">has</span> <span style="color:#2980b9">Str</span> <span style="color:#27aeae">@</span><span style="color:#2980b9">.</span><span style="color:#27aeae">spells</span>;
0111 }
0112 
0113 <span style="color:#7a7c7d">#</span><span style="color:#3f8058">|</span><span style="color:#7a7c7d"> Fight mechanics</span>
0114 <span style="color:#7f8c8d">sub</span> duel(<span style="color:#2980b9">Magician</span> <span style="color:#27aeae">$a</span>, <span style="color:#2980b9">Magician</span> <span style="color:#27aeae">$b</span>) {
0115 }
0116 <span style="color:#7a7c7d">#</span><span style="color:#3f8058">=</span><span style="color:#7a7c7d">«&lt;((</span>
0117 <span style="color:#7a7c7d"> &lt;Magicians only, no mortals. ></span>
0118 <span style="color:#7a7c7d"> Magicians only, no mortals.</span>
0119 <span style="color:#7a7c7d">))>»</span>
0120 
0121 <span style="color:#8e44ad">say</span> <span style="color:#2980b9">Magician</span><span style="color:#3f8058">.</span><span style="color:#2980b9">WHY</span>;
0122 
0123 <span style="color:#7a7c7d">#</span><span style="color:#3f8058">|</span><span style="color:#7a7c7d">&lt;&lt; This is an example of stringification:</span>
0124 <span style="color:#7a7c7d">    * Numbers turn into strings</span>
0125 <span style="color:#7a7c7d"> >   * Regexes operate on said strings</span>
0126 <span style="color:#7a7c7d">    * C&lt;with> topicalizes and places result into $_</span>
0127 <span style="color:#7a7c7d">>></span>
0128 <span style="color:#7f8c8d">sub</span> search-in-seq( <span style="color:#2980b9">Int</span> <span style="color:#27aeae">$end</span>, <span style="color:#2980b9">Int</span> <span style="color:#27aeae">$number</span> ) {
0129     <span style="color:#fdbc4b;font-weight:bold">with</span> (<span style="color:#3f8058">^</span><span style="color:#27aeae">$end</span>)<span style="color:#3f8058">.</span>grep( <span style="color:#da4453">/</span><span style="color:#fdbc4b;font-weight:bold">^</span><span style="color:#27aeae">$number</span><span style="color:#da4453">/</span> ) {
0130         <span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">$_</span><span style="color:#3daee9">&lt;></span>;
0131     }
0132 }
0133 <span style="color:#7a7c7d">#</span><span style="color:#3f8058">=</span><span style="color:#7a7c7d"> Uses     * topic    * decont operator</span>
0134 
0135 
0136 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> plop</span>
0137 <span style="color:#7f8c8d">abc</span>
0138 
0139 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> plop</span>
0140 <span style="color:#a43340">=</span><span style="color:#3f8058">para</span>
0141 <span style="color:#7f8c8d">abc</span>
0142 
0143 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> plop</span>
0144  <span style="color:#7f8c8d">abc</span>
0145 <span style="color:#7f8c8d">abc</span>
0146 
0147 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> plop</span>
0148 <span style="color:#7f8c8d">abc</span>
0149 
0150 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span>;
0151 
0152 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> plop</span>
0153 
0154 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span>;
0155 
0156 <span style="color:#a43340">=</span><span style="color:#3f8058">for</span> <span style="color:#3f8058">head1</span>
0157 <span style="color:#7f8c8d">plop</span>
0158 
0159 <span style="color:#a43340">=</span><span style="color:#3f8058">for</span> <span style="color:#3f8058">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">conf</span><span style="color:#3f8058">[</span><span style="color:#7f8c8d">str</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#f44f4f">'str</span><span style="color:#3daee9">'</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#f44f4f">"str</span><span style="color:#3daee9">"</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#f67400">1</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#2980b9">True</span><span style="color:#3f8058">]</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">conf</span><span style="color:#3f8058">(</span><span style="color:#7f8c8d">str</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#f44f4f">'str</span><span style="color:#3daee9">'</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#f44f4f">"str</span><span style="color:#3daee9">"</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#f67400">1</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> </span><span style="color:#2980b9">True</span><span style="color:#3f8058">)</span>
0160 <span style="color:#a43340">=</span><span style="color:#3f8058">for</span> <span style="color:#3f8058">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">conf</span><span style="color:#3f8058">&lt;</span><span style="color:#7f8c8d">str </span><span style="color:#f44f4f">'str</span><span style="color:#3daee9">'</span><span style="color:#7f8c8d"> </span><span style="color:#f44f4f">"str</span><span style="color:#3daee9">"</span><span style="color:#7f8c8d"> </span><span style="color:#f67400">1</span><span style="color:#7f8c8d"> </span><span style="color:#2980b9">True</span><span style="color:#3f8058">></span>
0161 <span style="color:#a43340">=</span><span style="color:#3f8058">for</span> <span style="color:#3f8058">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">conf</span><span style="color:#3f8058">{</span><span style="color:#7f8c8d">k </span><span style="color:#3f8058">=></span><span style="color:#7f8c8d"> str</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> k</span><span style="color:#3f8058">=></span><span style="color:#f44f4f">'str</span><span style="color:#3daee9">'</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> k</span><span style="color:#3f8058">=></span><span style="color:#f44f4f">"str</span><span style="color:#3daee9">"</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> k</span><span style="color:#3f8058">=></span><span style="color:#f67400">1</span><span style="color:#3f8058">,</span><span style="color:#7f8c8d"> k</span><span style="color:#3f8058">=></span><span style="color:#2980b9">True</span><span style="color:#3f8058">}</span>
0162 <span style="color:#a43340">=</span><span style="color:#3f8058">for</span> <span style="color:#3f8058">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">a</span> <span style="color:#3f8058">:!</span><span style="color:#2980b9">b</span> <span style="color:#3f8058">:</span><span style="color:#f67400">42</span><span style="color:#2980b9">k</span> <span style="color:#3f8058">:</span><span style="color:#da4453;text-decoration:underline">+s</span>
0163 <span style="color:#7f8c8d">abc</span>
0164 
0165 <span style="color:#8e44ad">say</span> <span style="color:#f67400">2</span>;
0166 
0167 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">a</span>
0168 <span style="color:#a43340">abc</span>
0169 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">a</span>
0170 
0171 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">b</span> <span style="color:#da4453;text-decoration:underline">sa</span>
0172 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">b</span>
0173 <span style="color:#8e44ad">say</span> <span style="color:#f67400">2</span>;
0174 
0175 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">a</span>
0176 <span style="color:#a43340">abc</span>
0177 
0178 <span style="color:#a43340">abc</span>
0179 
0180 <span style="color:#a43340">abc</span>
0181 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">a</span>
0182 <span style="color:#8e44ad">say</span> <span style="color:#f67400">0</span> ;
0183 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">a</span><span style="color:#3f8058">:</span><span style="color:#2980b9">config</span><span style="color:#3f8058">{</span><span style="color:#f67400">42</span><span style="color:#3f8058">}</span>
0184 <span style="color:#a43340">abc</span>
0185 
0186 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> The</span>
0187 <span style="color:#7f8c8d">Title</span>
0188 
0189 <span style="color:#a43340">abc</span>
0190 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span><span style="color:#da4453;text-decoration:underline"> ab</span>
0191 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1</span> ;
0192 
0193 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">b</span> <span style="color:#da4453;text-decoration:underline">sa</span>
0194 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">b</span>
0195 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">a</span>
0196 <span style="color:#a43340">abc</span>
0197 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">b</span>
0198 <span style="color:#a43340">abc</span>
0199 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">b</span><span style="color:#da4453;text-decoration:underline"> a</span>
0200 <span style="color:#a43340">abc</span>
0201 
0202 <span style="color:#a43340">abc</span>
0203 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">a</span>
0204 <span style="color:#8e44ad">say</span> <span style="color:#f67400">3</span> ;
0205 
0206 <span style="color:#a43340">=</span><span style="color:#3f8058">item</span><span style="color:#7f8c8d"> a</span>
0207 <span style="color:#a43340">=</span><span style="color:#3f8058">item</span><span style="color:#7f8c8d"> b</span>
0208 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">code</span>
0209 <span style="color:#c45b00"> =item a</span>
0210 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">code</span>
0211 
0212 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">code</span>
0213 <span style="color:#c45b00"> =item a</span>
0214 <span style="color:#c45b00"> b</span>
0215 <span style="color:#c45b00">=end code d</span>
0216 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">code</span>
0217 
0218 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">comment</span>
0219 <span style="color:#7a7c7d">Here are several</span>
0220 <span style="color:#7a7c7d">lines</span>
0221 <span style="color:#7a7c7d">of comment</span>
0222 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">comment</span>
0223 
0224 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">pod</span>
0225 <span style="color:#a43340">=</span><span style="color:#3f8058">head1</span><span style="color:#7f8c8d"> ac</span><span style="color:#a43340;font-weight:bold">B&lt;&lt;</span><span style="color:#a43340;font-style:italic">I&lt;a></span><span style="color:#a43340;font-weight:bold">>></span><span style="color:#7f8c8d">a </span><span style="color:#a43340;font-weight:bold">B&lt;c></span><span style="color:#7f8c8d"> </span><span style="color:#a43340;text-decoration:underline">U&lt;d></span><span style="color:#7f8c8d"> B</span><span style="color:#a43340;font-weight:bold">B&lt;a></span>
0226 
0227 <span style="color:#c45b00">C&lt;my $var = 1; say $var;></span>
0228 <span style="color:#a43340">Perl 6 homepage </span><span style="color:#27ae60;text-decoration:underline">L&lt;https://perl6.org></span><span style="color:#a43340"> </span><span style="color:#27ae60;text-decoration:underline">L&lt;Perl 6 homepage</span><span style="color:#3f8058">|</span><span style="color:#27ae60;text-decoration:underline">https://perl6.org></span>
0229 <span style="color:#a43340">Comments </span><span style="color:#27ae60;text-decoration:underline">L&lt;#Comments></span><span style="color:#a43340"> </span><span style="color:#27ae60;text-decoration:underline">L&lt;Comments</span><span style="color:#3f8058">|</span><span style="color:#27ae60;text-decoration:underline">#Comments></span>
0230 <span style="color:#a43340">Perl 6 is awesome </span><span style="color:#7a7c7d">Z&lt;Of course it is!></span>
0231 <span style="color:#a43340">Perl 6 is multi-paradigmatic </span><span style="color:#c45b00">N&lt;Supporting Procedural, Object Oriented, and Functional programming></span>
0232 <span style="color:#a43340">Enter your name </span><span style="color:#c45b00">K&lt;John Doe></span><span style="color:#a43340"> </span><span style="color:#3daee9">E&lt;0xBB></span><span style="color:#a43340"> characters.</span>
0233 
0234 <span style="color:#a43340">A </span><span style="color:#27ae60">X&lt;</span><span style="color:#27ae60;text-decoration:underline">hash</span><span style="color:#3f8058">|</span><span style="color:#27ae60;text-decoration:underline">hashes</span><span style="color:#3f8058">,</span><span style="color:#27ae60;text-decoration:underline"> definition of</span><span style="color:#3f8058">;</span><span style="color:#27ae60;text-decoration:underline"> associative arrays</span><span style="color:#27ae60">></span>
0235 
0236 <span style="color:#a43340">=</span><span style="color:#3f8058">DISCLAIMER</span>
0237 <span style="color:#27ae60;text-decoration:underline">P&lt;http://www.MegaGigaTeraPetaCorp.com/std/disclaimer.txt></span>
0238 
0239 <span style="color:#a43340">A </span><span style="color:#27ae60">X&lt;</span><span style="color:#27ae60;text-decoration:underline">hash</span><span style="color:#3f8058">|</span><span style="color:#27ae60;text-decoration:underline">hashes</span><span style="color:#3f8058">,</span><span style="color:#27ae60;text-decoration:underline"> definition of</span><span style="color:#3f8058">;</span><span style="color:#27ae60;text-decoration:underline"> associative arrays</span><span style="color:#27ae60">></span>
0240 <span style="color:#a43340">is an unordered collection of scalar values indexed by their</span>
0241 <span style="color:#a43340">associated string key.</span>
0242 
0243 <span style="color:#a43340">    my @names = &lt;Foo Bar Baz>;</span>
0244 <span style="color:#a43340">    my @upper-case-names = @names.map: { .uc }    # OUTPUT: [FOO BAR BAZ]</span>
0245 
0246 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">pod</span>
0247 
0248 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">caption</span><span style="color:#3f8058">&lt;</span><span style="color:#7f8c8d">My Tasks</span><span style="color:#3f8058">></span>
0249 <span style="color:#a43340">mow lawn</span>
0250 <span style="color:#a43340">take out trash</span>
0251 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">table</span>
0252 
0253 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">begin</span> <span style="color:#7f8c8d">table</span> <span style="color:#3f8058">:</span><span style="color:#2980b9">config</span><span style="color:#3f8058">{</span><span style="color:#7f8c8d">caption </span><span style="color:#3f8058">=></span><span style="color:#7f8c8d"> </span><span style="color:#f44f4f">"My Tasks</span><span style="color:#3daee9">"</span><span style="color:#3f8058">}</span>
0254 <span style="color:#a43340">mow lawn</span>
0255 <span style="color:#a43340">take out trash</span>
0256 <span style="color:#a43340">=</span><span style="color:#2980b9;background-color:#153042">end</span> <span style="color:#7f8c8d">table</span>
0257 
0258 
0259 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#3daee9">\c999</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\c999999</span><span style="color:#da4453;text-decoration:underline">9</span><span style="color:#f44f4f">99 </span><span style="color:#3daee9">\c[LATIN CAPITAL LETTER A</span>,<span style="color:#3daee9"> LATIN CAPITAL LETTER B]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\c77</span><span style="color:#f44f4f">s </span><span style="color:#3daee9">\c[77</span>,<span style="color:#3daee9">22]</span><span style="color:#3daee9">"</span>;
0260 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#3daee9">\x0</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\x00</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\x[0]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\x[00]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\x[f]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\xaaa</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\xfffff</span><span style="color:#da4453;text-decoration:underline">f</span><span style="color:#f44f4f">f </span><span style="color:#3daee9">\xff</span><span style="color:#f44f4f">h </span><span style="color:#3daee9">\x[ffff]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\x[fffff</span><span style="color:#da4453;text-decoration:underline">ff</span><span style="color:#3daee9">]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\x[42</span>,<span style="color:#3daee9">42]</span><span style="color:#3daee9">"</span>;
0261 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#3daee9">\o0</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o00</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o[0]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o[00]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o[7]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o333</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o777777</span><span style="color:#da4453;text-decoration:underline">7</span><span style="color:#f44f4f">7 </span><span style="color:#3daee9">\o77</span><span style="color:#f44f4f">h </span><span style="color:#3daee9">\o[333]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o[777777</span><span style="color:#da4453;text-decoration:underline">77</span><span style="color:#3daee9">]</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">\o[42</span>,<span style="color:#3daee9">42]</span><span style="color:#3daee9">"</span>;
0262 
0263 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">A literal string</span><span style="color:#3daee9">]</span> ;
0264 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">「</span><span style="color:#f44f4f">More plainly.</span><span style="color:#3daee9">」</span> ;
0265 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3daee9">^</span><span style="color:#f44f4f">Almost any non-word character can be a delimiter!</span><span style="color:#3daee9">^</span> ;
0266 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3daee9">「「</span><span style="color:#f44f4f">Delimiters can be repeated/nested if they are adjacent.</span><span style="color:#3daee9">」」</span> ;
0267 
0268 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3daee9">(</span><span style="color:#f44f4f">this is fine, because of space after Q</span><span style="color:#3daee9">)</span> ;
0269 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3daee9">'</span><span style="color:#f44f4f">and so is this</span><span style="color:#3daee9">'</span> ;
0270 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">Make sure you </span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">match</span><span style="color:#3daee9">></span><span style="color:#f44f4f"> opening and closing delimiters</span><span style="color:#3daee9">></span> ;
0271 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3daee9">{</span><span style="color:#f44f4f">This is still a closing curly brace → \</span><span style="color:#3daee9">}</span> ;
0272 
0273 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3daee9">;</span><span style="color:#f44f4f">yes, this is fine</span><span style="color:#3daee9">;</span> ;
0274 <span style="color:#8e44ad">say</span> <span style="color:#2980b9">Q</span>(<span style="color:#3daee9">'</span><span style="color:#f44f4f">this is a function</span><span style="color:#3daee9">'</span>) ;
0275 
0276 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">Very plain</span><span style="color:#3daee9">'</span>;
0277 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">q</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">This back\slash stays</span><span style="color:#3daee9">]</span>;
0278 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">q</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">This back</span><span style="color:#3daee9">\\</span><span style="color:#f44f4f">slash stays</span><span style="color:#3daee9">]</span>; <span style="color:#7a7c7d"># Identical output</span>
0279 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">q</span><span style="color:#3daee9">{</span><span style="color:#f44f4f">This is not a closing curly brace → </span><span style="color:#3daee9">\}</span><span style="color:#f44f4f">, but this is → </span><span style="color:#3daee9">}</span>;
0280 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3f8058">:q</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">$</span><span style="color:#f44f4f">There are no backslashes here, only lots of </span><span style="color:#3daee9">\$\$\$</span><span style="color:#f44f4f">>!</span><span style="color:#3daee9">$</span>;
0281 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">(Just kidding. There</span><span style="color:#3daee9">\'</span><span style="color:#f44f4f">s no money in that string)</span><span style="color:#3daee9">'</span>;
0282 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">No $interpolation {here}!</span><span style="color:#3daee9">'</span>;
0283 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3f8058">:q</span><span style="color:#3daee9">!</span><span style="color:#f44f4f">Just a literal "\n" here</span><span style="color:#3daee9">!</span>;
0284 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3f8058">:q</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">\[</span><span style="color:#3daee9">]</span>
0285 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">A literal string</span><span style="color:#3daee9">]</span> ;
0286 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">「</span><span style="color:#f44f4f">More plainly.</span><span style="color:#3daee9">」</span> ;
0287 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3daee9">^</span><span style="color:#f44f4f">Almost any non-word character can be a delimiter!</span><span style="color:#3daee9">^</span> ;
0288 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q </span><span style="color:#3daee9">「「</span><span style="color:#f44f4f">Delimiters can be repeated/nested if they are adjacent.</span><span style="color:#3daee9">」」</span> ;
0289 
0290 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">qq</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">My favorite color is </span><span style="color:#f44f4f">{</span><span style="color:#27aeae">$n</span><span style="color:#3f8058">+</span><span style="color:#f67400">2</span><span style="color:#f44f4f">}</span><span style="color:#f44f4f">!</span><span style="color:#3daee9">]</span>;
0291 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">qq</span><span style="color:#3daee9">{</span><span style="color:#f44f4f">My favorite color</span><span style="color:#3daee9">\-</span><span style="color:#f44f4f"> is </span><span style="color:#3daee9">{</span><span style="color:#27aeae">$n</span><span style="color:#f44f4f">+2</span><span style="color:#3daee9">}</span><span style="color:#f44f4f">!</span><span style="color:#3daee9">}</span>;
0292 <span style="color:#8e44ad">say</span> <span style="color:#f44f4f">Q</span><span style="color:#3f8058">:qq</span><span style="color:#3daee9">{</span><span style="color:#f44f4f">My favorite color</span><span style="color:#3daee9">\-</span><span style="color:#f44f4f"> is </span><span style="color:#3daee9">{</span><span style="color:#27aeae">$n</span><span style="color:#f44f4f">+2</span><span style="color:#3daee9">}</span><span style="color:#f44f4f">!</span><span style="color:#3daee9">}</span>;
0293 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">My </span><span style="color:#27aeae">$color</span><span style="color:#8e44ad">[</span><span style="color:#f67400">0</span><span style="color:#8e44ad">]</span><span style="color:#f44f4f">.uc(</span>
0294 <span style="color:#f44f4f">) </span><span style="color:#27aeae">$n</span><span style="color:#f44f4f">+</span><span style="color:#27aeae">$n</span><span style="color:#f44f4f">.^name favorite color </span><span style="color:#3f8058">\q</span><span style="color:#3daee9">[</span><span style="color:#f44f4f">1is</span><span style="color:#3daee9">]</span><span style="color:#f44f4f"> </span><span style="color:#f44f4f">{</span><span style="color:#27aeae">$n</span><span style="color:#3f8058">+</span><span style="color:#f67400">2</span><span style="color:#f44f4f">}</span><span style="color:#f44f4f">!abc</span><span style="color:#8e44ad">&amp;uc(</span><span style="color:#3daee9">'</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">'</span><span style="color:#8e44ad">)</span><span style="color:#3daee9">"</span>;
0295 
0296 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">qqww</span><span style="color:#3daee9">|</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">|</span>;
0297 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">qq:w:w</span><span style="color:#3daee9">|</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">|</span>;
0298 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">q:a:v</span><span style="color:#3daee9">|</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">|</span>;
0299 
0300 <span style="color:#8e44ad">say</span>(<span style="color:#3f8058">qq:to</span><span style="color:#3daee9">/TERM INATOR/</span><span style="color:#f44f4f">, 1+1);</span>
0301 <span style="color:#f44f4f"> blah blah</span>
0302 <span style="color:#f44f4f"> </span><span style="color:#3daee9">TERM INATOR</span>
0303 
0304 
0305 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$don't-do-that</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>;
0306 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$piece_of_π</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">3.14</span>;
0307 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$駱駝道</span>    <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>;
0308 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$lexical</span>   <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>;
0309 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">dynamic1</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">10</span>;
0310 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">dynamic2</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">100</span>;
0311 
0312 <span style="color:#7f8c8d">sub</span> say-all() {
0313     <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#27aeae">$lexical</span><span style="color:#f44f4f">, </span><span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">dynamic1</span><span style="color:#f44f4f">, </span><span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">dynamic2</span><span style="color:#3daee9">"</span>;
0314 }
0315 
0316 say-all();
0317 
0318 {
0319     <span style="font-weight:bold">my</span> <span style="color:#27aeae">$lexical</span>   <span style="color:#3f8058">=</span> <span style="color:#f67400">2</span>;
0320     <span style="font-weight:bold">my</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">dynamic1</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">11</span>;
0321     <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">dynamic2</span>    <span style="color:#3f8058">=</span> <span style="color:#f67400">101</span>;
0322 }
0323 
0324 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$square</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">9</span> <span style="color:#3f8058">**</span> <span style="color:#f67400">2</span>;
0325 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@array</span>  <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>;   <span style="color:#7a7c7d"># Array variable with three elements</span>
0326 <span style="font-weight:bold">my</span> <span style="color:#27aeae">%hash</span>   <span style="color:#3f8058">=</span> <span style="color:#2980b9">London</span> <span style="color:#3f8058">=></span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">UK</span><span style="color:#3daee9">'</span>, <span style="color:#2980b9">Berlin</span> <span style="color:#3f8058">=></span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">Germany</span><span style="color:#3daee9">'</span>;
0327 
0328 <span style="font-weight:bold">class</span> <span style="color:#2980b9">FailHash</span> <span style="font-weight:bold">is</span> <span style="color:#2980b9">Hash</span> {
0329     <span style="font-weight:bold">has</span> <span style="color:#2980b9">Bool</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">!</span><span style="color:#27aeae">final</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">False</span>;
0330     <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">method</span> <span style="color:#2980b9">AT-KEY</span> ( ::?<span style="color:#2980b9">CLASS</span>:<span style="color:#2980b9">D</span>: <span style="color:#2980b9">Str</span>:<span style="color:#2980b9">D</span> <span style="color:#27aeae">\key</span> ){
0331         <span style="color:#fdbc4b;font-weight:bold">fail</span> <span style="color:#3f8058">X</span>::<span style="color:#2980b9">OutOfRange</span><span style="color:#3f8058">.</span>new(:<span style="color:#2980b9">what</span>(<span style="color:#3daee9">"</span><span style="color:#f44f4f">Hash key</span><span style="color:#3daee9">"</span>), :<span style="color:#2980b9">got</span>(key),
0332           :<span style="color:#2980b9">range</span>(<span style="font-weight:bold">self</span><span style="color:#3f8058">.</span>keys)) <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">!</span><span style="color:#27aeae">final</span> <span style="color:#3f8058">&amp;&amp; !</span><span style="font-weight:bold">self</span><span style="color:#3f8058">.</span><span style="color:#2980b9">EXISTS-KEY</span>(key);
0333         callsame
0334     }
0335 
0336     <span style="color:#7f8c8d">method</span> finalize() {
0337         <span style="color:#27aeae">$</span><span style="color:#2980b9">!</span><span style="color:#27aeae">final</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">True</span>
0338     }
0339 }
0340 
0341 <span style="font-weight:bold">my</span> <span style="color:#27aeae">%h</span> <span style="font-weight:bold">is</span> <span style="color:#2980b9">FailHash</span> <span style="color:#3f8058">=</span> oranges <span style="color:#3f8058">=></span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">round</span><span style="color:#3daee9">"</span>, bananas <span style="color:#3f8058">=></span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">bendy</span><span style="color:#3daee9">"</span>;
0342 
0343 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">%h</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">oranges</span><span style="color:#3daee9">></span>;
0344 <span style="color:#27aeae">%h</span><span style="color:#3f8058">.</span>finalize;
0345 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">%h</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">cherry</span><span style="color:#3daee9">></span>;
0346 <span style="color:#fdbc4b;font-weight:bold">CATCH</span> { <span style="color:#fdbc4b;font-weight:bold">default</span> { put <span style="color:#3f8058">.^</span>name, <span style="color:#3daee9">'</span><span style="color:#f44f4f">: </span><span style="color:#3daee9">'</span>, <span style="color:#3f8058">.</span><span style="color:#2980b9">Str</span> } }
0347 
0348 <span style="font-weight:bold">my</span> ( <span style="color:#27aeae">@foo</span>, <span style="color:#27aeae">$bar</span> );
0349 <span style="color:#27aeae">@foo</span> <span style="color:#3f8058">=</span> (<span style="color:#27aeae">$bar</span>) <span style="color:#3f8058">=</span> <span style="color:#f67400">42</span>, <span style="color:#3daee9">"</span><span style="color:#f44f4f">str</span><span style="color:#3daee9">"</span>;
0350 
0351 <span style="color:#8e44ad">say</span> <span style="font-weight:bold">anon</span> <span style="font-weight:bold">class</span> þ {};
0352 <span style="color:#8e44ad">say</span> <span style="font-weight:bold">anon</span> <span style="color:#7f8c8d">sub</span> þ  { <span style="color:#f67400">42</span> };
0353 
0354 <span style="color:#7f8c8d">sub</span> a {
0355     <span style="font-weight:bold">state</span> <span style="color:#27aeae">@x</span>;
0356     <span style="font-weight:bold">state</span> <span style="color:#27aeae">$l</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">A</span><span style="color:#3daee9">'</span>;
0357     <span style="color:#27aeae">@x</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">push</span>(<span style="color:#27aeae">$l</span><span style="color:#3f8058">++</span>);
0358 };
0359 
0360 <span style="color:#8e44ad">say</span> a <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#f67400">1</span><span style="color:#3f8058">..</span><span style="color:#f67400">6</span>;
0361 
0362 <span style="color:#7f8c8d">sub</span> foo(<span style="color:#27aeae">$x</span>) {
0363     <span style="font-weight:bold">my</span> <span style="color:#27aeae">$v</span> <span style="color:#3f8058">=</span> <span style="color:#27aeae">@</span>;
0364     <span style="color:#27aeae">$v</span>[<span style="color:#27aeae">$x</span>] <span style="color:#3f8058">=</span> <span style="color:#27aeae">$x</span>;
0365     <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$v</span>;
0366 }
0367 
0368 foo(<span style="color:#27aeae">$_</span>) <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#3f8058">^</span><span style="color:#f67400">3</span>;
0369 
0370 <span style="font-weight:bold">use</span> <span style="color:#2980b9">MONKEY-TYPING</span>;
0371 <span style="font-weight:bold">augment</span> <span style="font-weight:bold">class</span> <span style="color:#2980b9">Int</span> {
0372     <span style="color:#7f8c8d">method</span> is-answer { <span style="font-weight:bold">self</span> <span style="color:#3f8058">==</span> <span style="color:#f67400">42</span> }
0373 }
0374 <span style="color:#8e44ad">say</span> <span style="color:#f67400">42</span><span style="color:#3f8058">.</span>is-answer;
0375 
0376 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$in</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">0</span>;
0377 
0378 <span style="color:#7f8c8d">sub</span> f(<span style="color:#27aeae">*@c</span>) {
0379     (<span style="font-weight:bold">temp</span> <span style="color:#27aeae">$in</span>)<span style="color:#3f8058">++</span>;
0380      <span style="color:#3daee9">"</span><span style="color:#f44f4f">&lt;f></span><span style="color:#3daee9">\n</span><span style="color:#3daee9">"</span>
0381      <span style="color:#3f8058">~</span> <span style="color:#27aeae">@c</span>»<span style="color:#3f8058">.</span>indent(<span style="color:#27aeae">$in</span>)<span style="color:#3f8058">.</span>join(<span style="color:#3daee9">"</span><span style="color:#3daee9">\n</span><span style="color:#3daee9">"</span>)
0382      <span style="color:#3f8058">~</span> (<span style="color:#3f8058">+</span><span style="color:#27aeae">@c</span> <span style="color:#3f8058">??</span> <span style="color:#3daee9">"</span><span style="color:#3daee9">\n</span><span style="color:#3daee9">"</span> <span style="color:#3f8058">!!</span> <span style="color:#3daee9">""</span>)
0383      <span style="color:#3f8058">~</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">&lt;/f></span><span style="color:#3daee9">'</span>
0384 };
0385 
0386 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">ab:c d$e fgh ij*</span><span style="color:#3daee9">></span> {
0387     <span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#da4453">m/</span><span style="color:#3daee9">&lt;</span><span style="color:#fdbc4b;font-weight:bold">-</span><span style="color:#f67400">alpha</span><span style="color:#3daee9">></span><span style="color:#da4453">/</span>;
0388 }
0389 
0390 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">.</span><span style="color:#3daee9">'</span> {
0391     <span style="color:#3f8058">.</span><span style="color:#2980b9">Str</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#3f8058">!</span><span style="color:#3f8058">.</span><span style="color:#2980b9">IO</span><span style="color:#3f8058">.</span>d;
0392     <span style="color:#3f8058">.</span><span style="color:#2980b9">IO</span><span style="color:#3f8058">.</span>dir()»<span style="color:#3f8058">.</span><span style="color:#27aeae">&amp;</span><span style="color:#2980b9">?</span><span style="color:#27aeae">BLOCK</span> <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#3f8058">.</span><span style="color:#2980b9">IO</span><span style="color:#3f8058">.</span>d <span style="color:#7a7c7d"># lets recurse a little!</span>
0393 }
0394 
0395 <span style="font-weight:bold">use</span> <span style="color:#2980b9">Dog</span>:<span style="color:#2980b9">auth</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">Somebody</span><span style="color:#3daee9">></span>:<span style="color:#2980b9">ver</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">2.0</span><span style="color:#3daee9">></span>;
0396 
0397 infix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">+</span><span style="color:#3daee9">></span>
0398 infix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">*</span><span style="color:#3daee9">></span>
0399 infix:<span style="color:#3daee9">«</span><span style="color:#f44f4f">&lt;=</span><span style="color:#3daee9">»</span>
0400 
0401 postfix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">²</span><span style="color:#3daee9">></span>
0402 <span style="color:#2980b9">WOW</span>:<span style="color:#2980b9">That'sAwesome</span>
0403 <span style="color:#2980b9">WOW</span>:<span style="color:#2980b9">That's</span><span style="color:#3daee9">&lt;&lt;</span><span style="color:#f44f4f">🆒</span><span style="color:#3daee9">>></span>
0404 party:<span style="color:#2980b9">sweet</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">16</span><span style="color:#3daee9">></span>
0405 
0406 infix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">+</span><span style="color:#3daee9">></span>
0407 infix:<span style="color:#3daee9">&lt;&lt;</span><span style="color:#f44f4f">+</span><span style="color:#3daee9">>></span>
0408 infix:<span style="color:#3daee9">«</span><span style="color:#f44f4f">+</span><span style="color:#3daee9">»</span>
0409 infix:[<span style="color:#3daee9">'</span><span style="color:#f44f4f">+</span><span style="color:#3daee9">'</span>]
0410 infix:(<span style="color:#3daee9">'</span><span style="color:#f44f4f">+</span><span style="color:#3daee9">'</span>)
0411 
0412 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$a</span>:<span style="color:#2980b9">b</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">c</span><span style="color:#3daee9">></span>:<span style="color:#2980b9">d</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">e</span><span style="color:#3daee9">></span> <span style="color:#3f8058">=</span> <span style="color:#f67400">100</span>;
0413 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$a</span>:<span style="color:#2980b9">d</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">e</span><span style="color:#3daee9">></span>:<span style="color:#2980b9">b</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">c</span><span style="color:#3daee9">></span> <span style="color:#3f8058">=</span> <span style="color:#f67400">200</span>;
0414 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$a</span>:<span style="color:#2980b9">b</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">c</span><span style="color:#3daee9">></span>:<span style="color:#2980b9">d</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">e</span><span style="color:#3daee9">></span>;
0415 
0416 <span style="font-weight:bold">use</span> <span style="color:#2980b9">Test</span>; plan <span style="color:#f67400">1</span>; <span style="font-weight:bold">constant</span> <span style="color:#27aeae">&amp;term</span>:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">👍</span><span style="color:#3daee9">></span> <span style="color:#3f8058">=</span> <span style="color:#27aeae">&amp;ok</span><span style="color:#3f8058">.</span>assuming(<span style="font-weight:bold">True</span>);
0417 👍
0418 
0419 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$x</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">do</span> <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="font-weight:bold">True</span> { <span style="color:#f67400">42</span> };
0420 
0421 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1000000</span>, <span style="color:#f67400">1_000_000</span>, <span style="color:#f67400">10_00000</span>, <span style="color:#f67400">100_00_00</span>;
0422 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">-</span><span style="color:#f67400">2</span>, <span style="color:#f67400">12345</span>, <span style="color:#f67400">0xBEEF</span>, <span style="color:#f67400">0o755</span>, :<span style="color:#f67400">3</span><span style="color:#3daee9">&lt;</span><span style="color:#f67400">1201</span><span style="color:#3daee9">></span>;
0423 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1.0</span>, <span style="color:#f67400">3.14159</span>, <span style="color:#3f8058">-</span><span style="color:#f67400">2.5</span>, :<span style="color:#f67400">3</span><span style="color:#3daee9">&lt;</span><span style="color:#f67400">21.0012</span><span style="color:#3daee9">></span>;
0424 <span style="color:#8e44ad">say</span> <span style="color:#f67400">1e0</span>, <span style="color:#f67400">6.022e23</span>, <span style="color:#f67400">1e-9</span>, <span style="color:#3f8058">-</span><span style="color:#f67400">2e48</span>, <span style="color:#f67400">2e2</span><span style="color:#2980b9">i</span>, <span style="color:#f67400">.42</span>;
0425 <span style="color:#8e44ad">say</span> <span style="color:#f67400">2</span><span style="color:#3f8058">.</span>e2, <span style="color:#f67400">.2</span>, <span style="color:#f67400">0o3</span><span style="color:#da4453;text-decoration:underline">9</span>, <span style="color:#f67400">0xfF3</span><span style="color:#da4453;text-decoration:underline">u</span>, <span style="color:#f67400">0o</span><span style="color:#da4453;text-decoration:underline">i</span>, <span style="color:#f67400">0x</span><span style="color:#da4453;text-decoration:underline">i</span>, :<span style="color:#f67400">3</span><span style="color:#3daee9">&lt;</span><span style="color:#da4453;text-decoration:underline">></span>, :<span style="color:#f67400">23</span><span style="color:#3daee9">&lt;</span><span style="color:#f67400">gg</span><span style="color:#da4453;text-decoration:underline"> </span>; <span style="color:#7a7c7d"># error</span>
0426 
0427 
0428 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">$size</span> «[r<span style="color:#3f8058">/</span>]« (<span style="color:#f67400">2</span><span style="color:#3f8058">**</span><span style="color:#f67400">60</span>, <span style="color:#f67400">2</span><span style="color:#3f8058">**</span><span style="color:#f67400">50</span>, <span style="color:#f67400">2</span><span style="color:#3f8058">**</span><span style="color:#f67400">40</span>, <span style="color:#f67400">2</span><span style="color:#3f8058">**</span><span style="color:#f67400">30</span>, <span style="color:#f67400">2</span><span style="color:#3f8058">**</span><span style="color:#f67400">20</span>, <span style="color:#f67400">2</span><span style="color:#3f8058">**</span><span style="color:#f67400">10</span>)
0429           <span style="color:#3f8058">Z</span>      <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">EB     PB     TB     GB     MB     KB</span><span style="color:#3daee9">></span> <span style="color:#3f8058">-></span> [<span style="color:#27aeae">\v</span>,<span style="color:#27aeae">\suffix</span>]
0430 
0431 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$a</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">32</span>;
0432 <span style="color:#27aeae">$a</span> <span style="color:#3f8058">+=</span> <span style="color:#f67400">10</span>;
0433 <span style="color:#27aeae">$a</span> <span style="color:#3f8058">-=</span> <span style="color:#f67400">2</span>;
0434 <span style="color:#27aeae">$a</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">3</span>;
0435 <span style="color:#27aeae">$a</span> <span style="color:#3f8058">min=</span> <span style="color:#f67400">5</span>;
0436 <span style="color:#27aeae">$s</span> <span style="color:#3f8058">~=</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">b</span><span style="color:#3daee9">'</span>;
0437 
0438 <span style="color:#7f8c8d">sub</span> infix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">space-concat</span><span style="color:#3daee9">></span> (<span style="color:#27aeae">$a</span>, <span style="color:#27aeae">$b</span>) { <span style="color:#27aeae">$a</span> <span style="color:#3f8058">~</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">"</span> <span style="color:#3f8058">~</span> <span style="color:#27aeae">$b</span> };
0439 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$a</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">word1</span><span style="color:#3daee9">'</span>;
0440 <span style="color:#27aeae">$a</span> space-concat<span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">word2</span><span style="color:#3daee9">'</span>;
0441 
0442 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Real</span> <span style="color:#27aeae">$a</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span><span style="color:#3f8058">/</span><span style="color:#f67400">2</span>;
0443 <span style="color:#27aeae">$a</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">3.14</span>;
0444 <span style="color:#27aeae">$a</span> <span style="color:#3f8058">.=</span> round;
0445 
0446 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$a</span> <span style="color:#3f8058">=</span> <span style="font-weight:bold">True</span>;
0447 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">so</span> <span style="color:#27aeae">$a</span> <span style="color:#3f8058">!=</span> <span style="font-weight:bold">True</span>;
0448 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$i</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">10</span>;
0449 
0450 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$release</span> <span style="color:#3f8058">=</span> <span style="color:#2980b9">Date</span><span style="color:#3f8058">.</span>new(:<span style="color:#f67400">2015</span>year, :<span style="color:#f67400">12</span>month, :<span style="color:#f67400">24</span>day);
0451 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$today</span> <span style="color:#3f8058">=</span> <span style="color:#2980b9">Date</span><span style="color:#3f8058">.</span>today;
0452 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">so</span> <span style="color:#27aeae">$release</span> <span style="color:#3f8058">!before</span> <span style="color:#27aeae">$today</span>;
0453 
0454 <span style="color:#8e44ad">say</span> <span style="color:#f67400">4</span> <span style="color:#3f8058">R/</span> <span style="color:#f67400">12</span>;
0455 <span style="color:#8e44ad">say</span> [<span style="color:#3f8058">R/</span>] <span style="color:#f67400">2</span>, <span style="color:#f67400">4</span>, <span style="color:#f67400">16</span>;
0456 <span style="color:#8e44ad">say</span> [<span style="color:#3f8058">RZ~</span>] <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">1 2 3</span><span style="color:#3daee9">></span>,<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">4 5 6</span><span style="color:#3daee9">></span>
0457 
0458 <span style="color:#8e44ad">say</span> (<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>) »<span style="color:#3f8058">*</span>» <span style="color:#f67400">2</span>;
0459 <span style="color:#8e44ad">say</span> (<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>, <span style="color:#f67400">4</span>) »<span style="color:#3f8058">~</span>» <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b</span><span style="color:#3daee9">></span>;
0460 <span style="color:#8e44ad">say</span> (<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>) »<span style="color:#3f8058">+</span>« (<span style="color:#f67400">4</span>, <span style="color:#f67400">5</span>, <span style="color:#f67400">6</span>);
0461 <span style="color:#8e44ad">say</span> (<span style="color:#27aeae">&amp;sin</span>, <span style="color:#27aeae">&amp;cos</span>, <span style="color:#27aeae">&amp;sqrt</span>)»<span style="color:#3f8058">.</span>(<span style="color:#f67400">0.5</span>);
0462 
0463 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">@a</span> »<span style="color:#3f8058">+=</span>» <span style="color:#f67400">1</span>;
0464 <span style="font-weight:bold">my</span> (<span style="color:#27aeae">$a</span>, <span style="color:#27aeae">$b</span>, <span style="color:#27aeae">$c</span>);
0465 ((<span style="color:#27aeae">$a</span>, <span style="color:#27aeae">$b</span>), <span style="color:#27aeae">$c</span>) «<span style="color:#3f8058">=</span>» ((<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>), <span style="color:#f67400">3</span>);
0466 
0467 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">!</span>« <span style="color:#27aeae">@wisdom</span>;
0468 <span style="color:#27aeae">@a</span>»<span style="color:#3f8058">++</span>;
0469 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">-</span>« [[<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>], <span style="color:#f67400">3</span>];
0470 
0471 <span style="color:#27aeae">@slops</span>»<span style="color:#3f8058">.?</span>this-method-may-not-exist();
0472 
0473 <span style="font-weight:bold">my</span> <span style="color:#27aeae">%outer</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span> <span style="color:#3f8058">Z=></span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b c</span><span style="color:#3daee9">></span>;
0474 <span style="font-weight:bold">my</span> <span style="color:#27aeae">%inner</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span> <span style="color:#3f8058">Z=></span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">x z</span><span style="color:#3daee9">></span>;
0475 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">%outer</span> «<span style="color:#3f8058">~</span>» <span style="color:#27aeae">%inner</span>;
0476 
0477 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$neighbors</span> »>><span style="color:#3f8058">+</span>&lt;&lt;» (<span style="color:#27aeae">$p</span>, <span style="color:#27aeae">*</span>);
0478 
0479 <span style="color:#7f8c8d">sub</span> plus { <span style="color:#27aeae">$</span><span style="color:#2980b9">^</span><span style="color:#27aeae">a</span> <span style="color:#3f8058">+</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">^</span><span style="color:#27aeae">b</span> };
0480 <span style="color:#8e44ad">say</span> [[<span style="color:#27aeae">&amp;plus</span>]] <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>;
0481 
0482 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@n</span> <span style="color:#3f8058">=</span> [\<span style="color:#3f8058">~</span>] <span style="color:#f67400">1</span><span style="color:#3f8058">..</span><span style="color:#27aeae">*</span>;
0483 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">@n</span>[<span style="color:#3f8058">^</span><span style="color:#f67400">5</span>];
0484 
0485 <span style="color:#27aeae">@l</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b c d</span><span style="color:#3daee9">></span> <span style="color:#3f8058">Z~</span> <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#27aeae">*</span>;
0486 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">so</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">S&amp;</span> <span style="color:#f67400">2</span> <span style="color:#3f8058">S&amp;</span> <span style="color:#f67400">3</span>;
0487 <span style="color:#27aeae">@a</span> <span style="color:#3f8058">X</span>[<span style="color:#3f8058">+=</span>] <span style="color:#27aeae">@b</span>;
0488 <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">sub</span> postfix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">++</span><span style="color:#3daee9">></span>(<span style="color:#27aeae">$x</span> <span style="font-weight:bold">is</span> <span style="color:#7f8c8d;font-style:italic">rw</span>) <span style="font-weight:bold">is</span> <span style="color:#7f8c8d;font-style:italic">assoc</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">non</span><span style="color:#3daee9">></span>
0489 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$filename</span><span style="color:#3f8058">++</span> <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#f67400">1</span><span style="color:#3f8058">..</span><span style="color:#f67400">3</span>;
0490 <span style="color:#27aeae">$x</span> <span style="color:#3f8058">%</span> <span style="color:#27aeae">$y</span> <span style="color:#3f8058">==</span> <span style="color:#27aeae">$x</span> <span style="color:#3f8058">-</span> floor(<span style="color:#27aeae">$x</span> <span style="color:#3f8058">/</span> <span style="color:#27aeae">$y</span>) <span style="color:#3f8058">*</span> <span style="color:#27aeae">$y</span>
0491 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a a b c a d</span><span style="color:#3daee9">></span> <span style="color:#3f8058">⊍</span> bag(<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a a b c c</span><span style="color:#3daee9">></span>);
0492 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">-</span>« <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">1 2 3</span><span style="color:#3daee9">></span>
0493 
0494 <span style="color:#7a7c7d"># This is wrong: creates a Hash of Mixes, not Mix:</span>
0495 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Mix</span> <span style="color:#27aeae">%mix</span>;
0496 <span style="color:#7a7c7d"># Works with $ sigil:</span>
0497 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Mix</span> <span style="color:#27aeae">$mix</span>;
0498 <span style="color:#7a7c7d"># Can be typed:</span>
0499 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Mix</span>[Int] <span style="color:#27aeae">$mix-of-ints</span>;
0500 
0501 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$x</span>;
0502 <span style="font-weight:bold">my</span> <span style="color:#27aeae">$x</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">7</span>;
0503 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Int</span> <span style="color:#27aeae">$x</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">7</span>;
0504 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Int</span>:<span style="color:#2980b9">D</span> <span style="color:#27aeae">$x</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">7</span>;
0505 ndef)
0506 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Int</span> <span style="color:#27aeae">$x</span> <span style="font-weight:bold">where</span> { <span style="color:#27aeae">$_</span> <span style="color:#3f8058">></span> <span style="color:#f67400">3</span> } <span style="color:#3f8058">=</span> <span style="color:#f67400">7</span>;
0507 <span style="font-weight:bold">my</span> <span style="color:#2980b9">Int</span> <span style="color:#27aeae">$x</span> <span style="font-weight:bold">where</span> <span style="color:#27aeae">*</span> <span style="color:#3f8058">></span> <span style="color:#f67400">3</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">7</span>;
0508 
0509 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">tr</span><span style="font-weight:bold">:d:c</span><span style="color:#da4453">!</span><span style="color:#27ae60">dol</span><span style="color:#da4453">!</span><span style="color:#f44f4f">wne</span><span style="color:#da4453">!</span>;
0510 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">TR</span><span style="font-weight:bold">:c</span><span style="color:#da4453">/</span><span style="color:#27ae60">dol</span><span style="color:#da4453">/</span><span style="color:#f44f4f">wne</span><span style="color:#da4453">/</span>;
0511 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">s!</span><span style="color:#27ae60">foo</span><span style="color:#da4453">!</span><span style="color:#f44f4f">fox</span><span style="color:#da4453">!</span>;
0512 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60">foo</span><span style="color:#da4453">/</span>bar<span style="color:#da4453">/</span><span style="color:#27ae60">;</span>
0513 <span style="color:#27aeae">$str</span><span style="color:#27ae60"> </span><span style="color:#3f8058">~~</span><span style="color:#27ae60"> </span><span style="color:#da4453">/</span><span style="color:#3f8058">//</span>;
0514 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">rx/</span><span style="color:#27ae60">foo</span><span style="color:#da4453">/</span>bar<span style="color:#da4453">/</span><span style="color:#27ae60">;</span>
0515 <span style="color:#27aeae">$str</span><span style="color:#27ae60"> </span><span style="color:#3f8058">~~</span><span style="color:#27ae60"> Q </span><span style="font-weight:bold">:regex</span><span style="color:#27ae60"> </span><span style="color:#da4453">/</span>foo<span style="color:#da4453">/</span><span style="color:#27ae60">;</span>
0516 <span style="color:#27aeae">$str</span><span style="color:#27ae60"> </span><span style="color:#3f8058">~~</span><span style="color:#27ae60"> s</span>{b(<span style="color:#3f8058">.</span>)r}<span style="color:#27ae60"> = </span><span style="color:#3daee9">"</span><span style="color:#f44f4f"> d</span><span style="color:#27aeae">$0</span><span style="color:#f44f4f">n</span><span style="color:#3daee9">"</span><span style="color:#27ae60">;</span>
0517 <span style="color:#27aeae">$str</span><span style="color:#27ae60"> </span><span style="color:#3f8058">~~</span><span style="color:#27ae60"> regex</span>{fox}<span style="color:#27ae60">; </span><span style="color:#7a7c7d"># error</span>
0518 <span style="color:#27aeae">$str</span><span style="color:#27ae60"> </span><span style="color:#3f8058">~~</span><span style="color:#27ae60"> regex </span>{fox}<span style="color:#27ae60">;</span>
0519 <span style="color:#27ae60">rx</span><span style="color:#da4453">/</span> <span style="color:#3f8058">^</span>ab <span style="color:#da4453">/</span><span style="color:#27ae60">;</span>
0520 <span style="color:#da4453">/</span> <span style="color:#3f8058">^</span> ab <span style="color:#da4453">/</span><span style="color:#27ae60">;</span>
0521 <span style="color:#27ae60">rx</span><span style="color:#da4453">/</span> <span style="color:#27aeae">\d</span> <span style="color:#3f8058">**</span> <span style="color:#f67400">2</span><span style="color:#3f8058">/</span>;
0522 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">tr</span><span style="font-weight:bold">:d:c</span><span style="color:#da4453">!</span><span style="color:#27ae60">dol</span><span style="color:#da4453">!</span><span style="color:#f44f4f">wne</span><span style="color:#da4453">!</span>;
0523 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">TR</span><span style="font-weight:bold">:c</span><span style="color:#da4453">/</span><span style="color:#27ae60">dol</span><span style="color:#da4453">/</span><span style="color:#f44f4f">wne</span><span style="color:#da4453">/</span>;
0524 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">s!</span><span style="color:#27ae60">foo</span><span style="color:#da4453">!</span><span style="color:#f44f4f">fox</span><span style="color:#da4453">!</span>;
0525 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">rx/</span><span style="color:#27ae60">foo</span><span style="color:#da4453">/</span>;
0526 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="font-weight:bold">regex</span>:<span style="color:#2980b9">ds</span> {fox};
0527 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="font-weight:bold">regex</span>{<span style="color:#27ae60">fox</span>};
0528 <span style="font-weight:bold">my</span> a <span style="color:#3f8058">=</span> <span style="color:#da4453">/</span><span style="color:#27ae60">a</span><span style="color:#da4453">/</span>;
0529 <span style="color:#da4453">rx/</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">^</span><span style="color:#27ae60">ab </span><span style="color:#da4453">/</span>;
0530 a <span style="color:#3f8058">=</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">^</span><span style="color:#27ae60"> ab </span><span style="color:#3daee9">'</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">'</span><span style="color:#27ae60"> </span><span style="color:#3daee9">"</span><span style="color:#27aeae">$a</span><span style="color:#3daee9">"</span><span style="color:#27ae60"> </span><span style="color:#f67400">\d</span><span style="color:#27ae60"> </span><span style="color:#f67400">\n\n</span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;:</span><span style="color:#f67400">L </span><span style="color:#3daee9">:</span><span style="color:#f67400">Script</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">Latin</span><span style="color:#3daee9">></span><span style="color:#3daee9">></span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;:</span><span style="color:#f67400">Block</span>(<span style="color:#3daee9">'</span><span style="color:#f44f4f">Basic Latin</span><span style="color:#3daee9">'</span>)<span style="color:#3daee9">></span><span style="color:#27ae60">  </span><span style="color:#da4453">/</span>;
0531 <span style="color:#3f8058">//</span>;
0532  <span style="color:#da4453">rx</span><span style="font-weight:bold">:sigspace</span><span style="color:#da4453">.</span><span style="color:#f67400">\d</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;</span><span style="color:#f67400"> </span><span style="color:#3daee9">:</span><span style="color:#f67400">Script </span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#3daee9">:</span><span style="color:#f67400">Block "Basic Latin" </span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#f67400"> </span><span style="color:#3daee9">:</span><span style="color:#f67400">L</span><span style="color:#3daee9">></span><span style="color:#27ae60"> </span><span style="color:#7a7c7d">#plop</span>
0533 <span style="color:#3daee9">'</span><span style="color:#f44f4f">-</span><span style="color:#3daee9">'</span><span style="color:#da4453">.</span>;
0534 <span style="color:#da4453">rx/</span><span style="color:#27ae60"> </span><span style="color:#f67400">\d</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">**</span><span style="color:#27ae60"> 2 </span><span style="color:#3daee9">&lt;</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#f67400">\d</span><span style="color:#da4453"> a d</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#f67400">\x233</span><span style="color:#fdbc4b;font-weight:bold">..</span><span style="color:#da4453">\] " </span><span style="color:#f67400">\c[dsds]</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#3daee9">></span><span style="color:#da4453">/</span>;
0535 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">m</span><span style="font-weight:bold">:g</span><span style="color:#da4453">/</span>[(<span style="color:#3daee9">&lt;</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#da4453">ACGT</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#3daee9">></span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">**:</span><span style="color:#27ae60"> 3</span>)<span style="color:#27ae60"> </span><span style="color:#f67400">\s</span><span style="color:#fdbc4b;font-weight:bold">*</span>]<span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> </span><span style="color:#f67400">\s</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> </span>(<span style="color:#3daee9">&lt;</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#da4453">A</span><span style="color:#fdbc4b;font-weight:bold">..</span><span style="color:#da4453">Z a a</span><span style="color:#fdbc4b;font-weight:bold">..</span><span style="color:#da4453">z </span><span style="color:#f67400">\s</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#3daee9">></span><span style="color:#fdbc4b;font-weight:bold">+</span>)<span style="color:#da4453">/</span>;
0536 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">$333</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">m/</span><span style="color:#fdbc4b;font-weight:bold">^^</span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;</span><span style="color:#fdbc4b;font-weight:bold">?</span>[<span style="color:#fdbc4b;font-weight:bold">$</span>]<span style="color:#3daee9">></span><span style="color:#27ae60"> </span><span style="color:#7f8c8d">.</span><span style="color:#27ae60"> </span><span style="color:#f67400">\d</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> </span><span style="color:#da4453">/</span>;
0537 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">/foo/o/bar/</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#da4453">\/</span><span style="color:#7f8c8d">.</span><span style="color:#fdbc4b;font-weight:bold">**!</span>{<span style="color:#f67400">1</span><span style="color:#3f8058">..</span><span style="color:#f67400">10</span>}<span style="color:#da4453">\/</span><span style="color:#da4453">/</span>;
0538 rx(a);
0539 <span style="color:#da4453">rx (</span><span style="color:#27ae60">a</span><span style="color:#da4453">)</span>;
0540 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="font-weight:bold">regex</span> {<span style="color:#27ae60">fox</span>};
0541 <span style="color:#27aeae">$str</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">s{</span><span style="color:#27ae60">b</span>(<span style="color:#7f8c8d">.</span>)<span style="color:#27ae60">r</span><span style="color:#da4453">}</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f"> d</span><span style="color:#27aeae">$0</span><span style="color:#f44f4f">n</span><span style="color:#3daee9">"</span>;
0542 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abc</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> </span>[<span style="color:#27ae60">a</span><span style="color:#fdbc4b;font-weight:bold">||</span><span style="color:#27ae60">b</span>]<span style="color:#27ae60"> </span>(<span style="color:#27ae60">c</span>)<span style="color:#27ae60"> </span><span style="color:#da4453">/</span> {
0543     <span style="color:#8e44ad">say</span> <span style="color:#3f8058">~</span><span style="color:#27aeae">$0</span>;                <span style="color:#7a7c7d"># OUTPUT: «c␤»</span>
0544 }
0545 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abc</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> </span><span style="color:#3f8058">$&lt;myname></span><span style="color:#27ae60"> = </span>[<span style="color:#27ae60"> </span><span style="color:#f67400">\w</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> </span>]<span style="color:#27ae60"> </span><span style="color:#da4453">/</span> {
0546     <span style="color:#8e44ad">say</span> <span style="color:#3f8058">~</span><span style="color:#27aeae">$&lt;myname></span>      <span style="color:#7a7c7d"># OUTPUT: «abc␤»</span>
0547 }
0548 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abc</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> a </span><span style="color:#3daee9">&lt;(</span><span style="color:#27ae60"> b </span><span style="color:#3daee9">)></span><span style="color:#27ae60"> c</span><span style="color:#da4453">/</span>;
0549 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abc</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;(</span><span style="color:#27ae60">a </span><span style="color:#3daee9">&lt;(</span><span style="color:#27ae60"> b </span><span style="color:#3daee9">)></span><span style="color:#27ae60"> c</span><span style="color:#3daee9">)></span><span style="color:#da4453">/</span>;
0550 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">abc</span><span style="color:#3daee9">"</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60">a</span><span style="color:#7f8c8d">.</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">|</span><span style="color:#27ae60"> ab </span>{ <span style="color:#8e44ad">print</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">win</span><span style="color:#3daee9">"</span> }<span style="color:#27ae60"> </span><span style="color:#da4453">/</span>;
0551 
0552 <span style="color:#3f8058">so</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">hello world</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">m</span><span style="font-weight:bold">:Perl5</span><span style="color:#27ae60;font-weight:bold">/</span><span style="color:#3daee9">^</span><span style="color:#27ae60">hello </span><span style="color:#3daee9">(</span><span style="color:#27ae60">world</span><span style="color:#3daee9">)</span><span style="color:#27ae60;font-weight:bold">/</span>;   <span style="color:#7a7c7d"># OUTPUT: «True␤»</span>
0553 <span style="color:#3f8058">so</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">hello world</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">m/</span><span style="color:#fdbc4b;font-weight:bold">^</span><span style="color:#27ae60">hello </span>(<span style="color:#27ae60">world</span>)<span style="color:#da4453">/</span>;         <span style="color:#7a7c7d"># OUTPUT: «False␤»</span>
0554 <span style="color:#3f8058">so</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">hello world</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">m/</span><span style="color:#fdbc4b;font-weight:bold">^</span><span style="color:#27ae60"> </span><span style="color:#3daee9">'</span><span style="color:#f44f4f">hello </span><span style="color:#3daee9">'</span><span style="color:#27ae60"> </span>(<span style="color:#3daee9">'</span><span style="color:#f44f4f">world</span><span style="color:#3daee9">'</span>)<span style="color:#da4453">/</span>;   <span style="color:#7a7c7d"># OUTPUT: «True␤»</span>
0555 
0556 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Abra abra CADABRA</span><span style="color:#3daee9">"</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">m</span><span style="font-weight:bold">:exhaustive</span><span style="color:#da4453">/</span><span style="font-weight:bold">:i</span><span style="color:#27ae60"> a </span><span style="color:#f67400">\w</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> a</span><span style="color:#da4453">/</span>;
0557 
0558 <span style="font-weight:bold">my</span> <span style="font-weight:bold">regex</span> ipv4-octet {<span style="color:#27ae60"> </span><span style="color:#f67400">\d</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">**</span><span style="color:#27ae60"> 1</span><span style="color:#3f8058">..</span><span style="color:#27ae60">3 </span><span style="color:#3daee9">&lt;</span><span style="color:#fdbc4b;font-weight:bold">?</span>{ <span style="color:#27aeae">$/</span><span style="color:#3f8058">.</span><span style="color:#2980b9">Int</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">= 255 &amp;&amp; $/.Int </span><span style="color:#3daee9">></span><span style="color:#3f8058">=</span> <span style="color:#f67400">0</span> }<span style="color:#3daee9">></span><span style="color:#27ae60"> </span>}
0559 <span style="font-weight:bold">my</span> <span style="font-weight:bold">regex</span> ipv4-octet {<span style="color:#27ae60"> </span><span style="color:#f67400">\d</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">**</span><span style="color:#27ae60"> 1</span><span style="color:#3f8058">..</span><span style="color:#27ae60">3 </span><span style="color:#3daee9">&lt;</span><span style="color:#fdbc4b;font-weight:bold">?</span>{ <span style="font-weight:bold">True</span> }<span style="color:#3daee9">></span><span style="color:#27ae60"> </span>}
0560 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abc</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;</span><span style="color:#fdbc4b;font-weight:bold">?</span><span style="color:#3daee9">before</span><span style="color:#27ae60"> a</span><span style="color:#3daee9">></span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">&amp;&amp;</span><span style="color:#27ae60"> </span><span style="color:#7f8c8d">.</span><span style="color:#27ae60"> </span><span style="color:#da4453">/</span>;
0561 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abcdefg</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">rx{</span><span style="color:#27ae60"> abc </span><span style="color:#3daee9">&lt;</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#da4453">email protected</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#f67400">ending_letters</span><span style="color:#3daee9">></span><span style="color:#27ae60"> </span><span style="color:#da4453">}</span>;
0562 <span style="color:#da4453">s</span><span style="font-weight:bold">:g</span><span style="color:#da4453">[</span><span style="color:#f67400">\d</span><span style="color:#fdbc4b;font-weight:bold">+</span><span style="color:#27ae60"> </span><span style="color:#3daee9">&lt;</span><span style="color:#fdbc4b;font-weight:bold">?</span><span style="color:#3daee9">before</span><span style="color:#27ae60"> </span><span style="color:#f67400">\s</span><span style="color:#fdbc4b;font-weight:bold">*</span><span style="color:#27ae60"> </span><span style="color:#27aeae">@units</span><span style="color:#3daee9">></span><span style="color:#da4453">]</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">5</span> <span style="color:#3f8058">*</span> <span style="color:#27aeae">$/</span>;
0563 
0564 
0565 <span style="color:#7f8c8d">sub</span> walk(<span style="color:#27aeae">\thing</span>, <span style="color:#27aeae">*@keys</span>) <span style="font-weight:bold">is</span> <span style="color:#7f8c8d;font-style:italic">rw</span> {
0566     <span style="font-weight:bold">my</span> <span style="color:#27aeae">$current</span> <span style="color:#3f8058">:=</span> thing;
0567     <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">@keys</span> <span style="color:#3f8058">-></span> <span style="color:#27aeae">$k</span> {
0568         <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#27aeae">$k</span> <span style="color:#3f8058">~~</span> <span style="color:#2980b9">Int</span> {
0569             <span style="color:#27aeae">$current</span> <span style="color:#3f8058">:=</span> <span style="color:#27aeae">$current</span>[<span style="color:#27aeae">$k</span>];
0570         }
0571         <span style="color:#fdbc4b;font-weight:bold">else</span> {
0572             <span style="color:#27aeae">$current</span> <span style="color:#3f8058">:=</span> <span style="color:#27aeae">$current</span>{<span style="color:#27aeae">$k</span>};
0573         }
0574     }
0575     <span style="color:#27aeae">$current</span>;
0576 }
0577 
0578 <span style="font-weight:bold">my</span> <span style="color:#27aeae">%hash</span>;
0579 walk(<span style="color:#27aeae">%hash</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">some</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">key</span><span style="color:#3daee9">'</span>, <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>) <span style="color:#3f8058">=</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">autovivified</span><span style="color:#3daee9">'</span>;
0580 
0581 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">%hash</span><span style="color:#3f8058">.</span>perl;
0582 
0583 <span style="font-weight:bold">class</span> <span style="color:#3f8058">X</span>::<span style="color:#2980b9">WithoutLineNumber</span> <span style="font-weight:bold">is</span> <span style="color:#3f8058">X</span>::<span style="color:#2980b9">AdHoc</span> {
0584     <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">method</span> gist(<span style="color:#3f8058">X</span>::<span style="color:#2980b9">WithoutLineNumber</span>:<span style="color:#2980b9">D</span>:) {
0585         <span style="color:#27aeae">$</span><span style="color:#2980b9">.</span><span style="color:#27aeae">payload</span>
0586     }
0587 }
0588 <span style="color:#fdbc4b;font-weight:bold">die</span> <span style="color:#3f8058">X</span>::<span style="color:#2980b9">WithoutLineNumber</span><span style="color:#3f8058">.</span>new(payload <span style="color:#3f8058">=></span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">message</span><span style="color:#3daee9">"</span>)
0589 
0590 { <span style="color:#fdbc4b;font-weight:bold">return</span>; <span style="color:#fdbc4b;font-weight:bold">CATCH</span> { <span style="color:#fdbc4b;font-weight:bold">default</span> { <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">ERR</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span>: <span style="color:#3f8058">.^</span>name, <span style="color:#3daee9">'</span><span style="color:#f44f4f">: </span><span style="color:#3daee9">'</span>, <span style="color:#3f8058">.</span><span style="color:#2980b9">Str</span> } } }
0591 
0592 <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">sub</span> trait_mod:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">is</span><span style="color:#3daee9">></span>(<span style="color:#2980b9">Routine</span> <span style="color:#27aeae">$r</span>, :<span style="color:#27aeae">$export</span><span style="color:#3f8058">!</span>)
0593 
0594 <span style="color:#fdbc4b;font-weight:bold">react</span> {
0595     <span style="color:#fdbc4b;font-weight:bold">whenever</span> signal(<span style="color:#2980b9">SIGINT</span>) {
0596         <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">goodbye</span><span style="color:#3daee9">"</span>;
0597         done
0598     }
0599 }
0600 
0601 signal(<span style="color:#2980b9">SIGINT</span>)<span style="color:#3f8058">.</span>tap: { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">bye</span><span style="color:#3daee9">"</span>; <span style="color:#fdbc4b;font-weight:bold">exit</span> }; <span style="color:#fdbc4b;font-weight:bold">loop</span> {}
0602 
0603 <span style="color:#7f8c8d">method</span> base-repeating(<span style="color:#2980b9">Rational</span>:<span style="color:#2980b9">D</span>: <span style="color:#2980b9">Int</span>:<span style="color:#2980b9">D</span>() <span style="color:#27aeae">$base</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">10</span>)
0604 
0605 <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">sub</span> prefix:<span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">--</span><span style="color:#3daee9">></span>(<span style="color:#27aeae">$x</span> <span style="font-weight:bold">is</span> <span style="color:#7f8c8d;font-style:italic">rw</span>) <span style="font-weight:bold">is</span> <span style="color:#7f8c8d;font-style:italic">assoc</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">non</span><span style="color:#3daee9">></span>
0606 
0607 
0608 <span style="color:#7f8c8d">multi</span> <span style="color:#2980b9">MAIN</span>(<span style="color:#2980b9">Bool</span> :<span style="color:#27aeae">$man</span>) {
0609     run <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">EXECUTABLE</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">--doc</span><span style="color:#3daee9">'</span>, <span style="color:#27aeae">$</span><span style="color:#2980b9">*</span><span style="color:#27aeae">PROGRAM</span>;
0610 }
0611 
0612 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">$file</span><span style="color:#3f8058">.</span>lines <span style="color:#3f8058">-></span> <span style="color:#27aeae">$line</span> {
0613     <span style="color:#fdbc4b;font-weight:bold">next</span> <span style="color:#fdbc4b;font-weight:bold">unless</span> <span style="color:#27aeae">$line</span>; <span style="color:#7a7c7d"># ignore any empty lines</span>
0614 
0615     <span style="font-weight:bold">my</span> (<span style="color:#27aeae">$pairing</span>, <span style="color:#27aeae">$result</span>) <span style="color:#3f8058">=</span> <span style="color:#27aeae">$line</span><span style="color:#3f8058">.</span>split(<span style="color:#3daee9">'</span><span style="color:#f44f4f"> | </span><span style="color:#3daee9">'</span>);
0616     <span style="font-weight:bold">my</span> (<span style="color:#27aeae">$p1</span>, <span style="color:#27aeae">$p2</span>)          <span style="color:#3f8058">=</span> <span style="color:#27aeae">$pairing</span><span style="color:#3f8058">.</span>words;
0617     <span style="font-weight:bold">my</span> (<span style="color:#27aeae">$r1</span>, <span style="color:#27aeae">$r2</span>)          <span style="color:#3f8058">=</span> <span style="color:#27aeae">$result</span><span style="color:#3f8058">.</span>split(<span style="color:#3daee9">'</span><span style="color:#f44f4f">:</span><span style="color:#3daee9">'</span>);
0618 
0619     <span style="color:#27aeae">%sets</span>{<span style="color:#27aeae">$p1</span>} <span style="color:#3f8058">+=</span> <span style="color:#27aeae">$r1</span>;
0620     <span style="color:#27aeae">%sets</span>{<span style="color:#27aeae">$p2</span>} <span style="color:#3f8058">+=</span> <span style="color:#27aeae">$r2</span>;
0621 
0622     <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#27aeae">$r1</span> <span style="color:#3f8058">></span> <span style="color:#27aeae">$r2</span> {
0623         <span style="color:#27aeae">%matches</span>{<span style="color:#27aeae">$p1</span>}<span style="color:#3f8058">++</span>;
0624     } <span style="color:#fdbc4b;font-weight:bold">else</span> {
0625         <span style="color:#27aeae">%matches</span>{<span style="color:#27aeae">$p2</span>}<span style="color:#3f8058">++</span>;
0626     }
0627 }
0628 
0629 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">@sorted</span> <span style="color:#3f8058">-></span> <span style="color:#27aeae">$n</span> {
0630     <span style="font-weight:bold">my</span> <span style="color:#27aeae">$match-noun</span> <span style="color:#3f8058">=</span> <span style="color:#27aeae">%matches</span>{<span style="color:#27aeae">$n</span>} <span style="color:#3f8058">==</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">??</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">match</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">!!</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">matches</span><span style="color:#3daee9">'</span>;
0631     <span style="font-weight:bold">my</span> <span style="color:#27aeae">$set-noun</span>   <span style="color:#3f8058">=</span> <span style="color:#27aeae">%sets</span>{<span style="color:#27aeae">$n</span>} <span style="color:#3f8058">==</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">??</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">set</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">!!</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">sets</span><span style="color:#3daee9">'</span>;
0632     <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#27aeae">$n</span><span style="color:#f44f4f"> has won %matches</span><span style="color:#f44f4f">{</span><span style="color:#27aeae">$n</span><span style="color:#f44f4f">}</span><span style="color:#f44f4f"> </span><span style="color:#27aeae">$match-noun</span><span style="color:#f44f4f"> and %sets</span><span style="color:#f44f4f">{</span><span style="color:#27aeae">$n</span><span style="color:#f44f4f">}</span><span style="color:#f44f4f"> </span><span style="color:#27aeae">$set-noun</span><span style="color:#3daee9">"</span>;
0633 }
0634 
0635 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Math: </span><span style="color:#f44f4f">{ </span><span style="color:#f67400">1</span> <span style="color:#3f8058">+</span><span style="color:#f44f4f"> </span><span style="color:#f67400">2</span> <span style="color:#f44f4f">}</span><span style="color:#3daee9">"</span>;
0636 
0637 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@people</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">Luke Matthew Mark</span><span style="color:#3daee9">></span>;
0638 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">The synoptics are: </span><span style="color:#f44f4f">{</span><span style="color:#27aeae">@people</span><span style="color:#f44f4f">}</span><span style="color:#3daee9">"</span>;
0639 
0640 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">{</span><span style="color:#27aeae">%sets</span><span style="color:#f44f4f">}</span><span style="color:#3daee9">"</span>;
0641 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">we have </span><span style="color:#27aeae">@flavors</span><span style="color:#8e44ad">[</span><span style="color:#f67400">0</span><span style="color:#8e44ad">]</span><span style="color:#3daee9">"</span>;
0642 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">we have </span><span style="color:#27aeae">@flavors</span><span style="color:#8e44ad">[]</span><span style="color:#3daee9">"</span>;
0643 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">we have </span><span style="color:#27aeae">@flavors</span><span style="color:#8e44ad">.sort()</span><span style="color:#3daee9">"</span>;
0644 <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">we have </span><span style="color:#27aeae">@flavors</span><span style="color:#8e44ad">.sort.join(</span><span style="color:#3daee9">'</span><span style="color:#f44f4f">, </span><span style="color:#3daee9">'</span><span style="color:#8e44ad">)</span><span style="color:#3daee9">"</span>;
0645 
0646 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@valid-players</span> <span style="color:#3f8058">=</span> <span style="color:#27aeae">$file</span><span style="color:#3f8058">.</span>get<span style="color:#3f8058">.</span>words;
0647 
0648 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">$file</span><span style="color:#3f8058">.</span>lines <span style="color:#3f8058">-></span> <span style="color:#27aeae">$line</span> {
0649     <span style="font-weight:bold">my</span> (<span style="color:#27aeae">$pairing</span>, <span style="color:#27aeae">$result</span>) <span style="color:#3f8058">=</span> <span style="color:#27aeae">$line</span><span style="color:#3f8058">.</span>split(<span style="color:#3daee9">'</span><span style="color:#f44f4f"> | </span><span style="color:#3daee9">'</span>);
0650     <span style="font-weight:bold">my</span> (<span style="color:#27aeae">$p1</span>, <span style="color:#27aeae">$p2</span>)          <span style="color:#3f8058">=</span> <span style="color:#27aeae">$pairing</span><span style="color:#3f8058">.</span>split(<span style="color:#3daee9">'</span><span style="color:#f44f4f"> </span><span style="color:#3daee9">'</span>);
0651     <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#27aeae">$p1</span> <span style="color:#3f8058">∉</span> <span style="color:#27aeae">@valid-players</span> {
0652         <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Warning: '</span><span style="color:#27aeae">$p1'</span><span style="color:#f44f4f"> is not on our list!</span><span style="color:#3daee9">"</span>;
0653     }
0654     <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#27aeae">$p2</span> <span style="color:#3f8058">∉</span> <span style="color:#27aeae">@valid-players</span> {
0655         <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">Warning: '</span><span style="color:#27aeae">$p2'</span><span style="color:#f44f4f"> is not on our list!</span><span style="color:#3daee9">"</span>;
0656     }
0657 }
0658 
0659 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@array</span> <span style="color:#3f8058">=</span> [ <span style="color:#3daee9">'</span><span style="color:#f44f4f">x</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">xx</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">xxx</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">o</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">oo</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">X</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">Y</span><span style="color:#3daee9">'</span>, <span style="color:#3daee9">'</span><span style="color:#f44f4f">Z</span><span style="color:#3daee9">'</span> ];
0660 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@array</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">  x    xx    xxx    o    oo    X    Y    Z  </span><span style="color:#3daee9">></span>;
0661 
0662 <span style="color:#7f8c8d">sub</span> plus { <span style="color:#27aeae">$</span><span style="color:#2980b9">^</span><span style="color:#27aeae">a</span> <span style="color:#3f8058">+</span> <span style="color:#27aeae">$</span><span style="color:#2980b9">^</span><span style="color:#27aeae">b</span> };
0663 <span style="color:#8e44ad">say</span> [[<span style="color:#27aeae">&amp;plus</span>]] <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>;
0664 
0665 <span style="color:#8e44ad">say</span> [<span style="color:#3f8058">X~</span>] (<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>), <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b</span><span style="color:#3daee9">></span>;
0666 
0667 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@n</span> <span style="color:#3f8058">=</span> [\<span style="color:#3f8058">~</span>] <span style="color:#f67400">1</span><span style="color:#3f8058">..</span><span style="color:#27aeae">*</span>;
0668 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">@n</span>[<span style="color:#3f8058">^</span><span style="color:#f67400">5</span>];
0669 
0670 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@l</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b c d</span><span style="color:#3daee9">></span> <span style="color:#3f8058">Z~</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">:</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">xx</span> <span style="color:#27aeae">*</span>;
0671    <span style="color:#27aeae">@l</span> <span style="color:#3f8058">=</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b c d</span><span style="color:#3daee9">></span> <span style="color:#3f8058">Z~</span> <span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#27aeae">*</span>;
0672 
0673 <span style="color:#8e44ad">say</span> <span style="color:#3f8058">so</span> <span style="color:#f67400">1</span> <span style="color:#3f8058">S&amp;</span> <span style="color:#f67400">2</span> <span style="color:#3f8058">S&amp;</span> <span style="color:#f67400">3</span>;
0674 
0675 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">%color</span>«cherry <span style="color:#3daee9">"</span><span style="color:#27aeae">$fruit</span><span style="color:#3daee9">"</span>»<span style="color:#3f8058">.</span>raku
0676 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$a</span><span style="color:#3f8058">.:</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">++</span><span style="color:#3daee9">></span>;
0677 
0678 <span style="color:#8e44ad">say</span> <span style="color:#f67400">2</span> <span style="color:#3f8058">!(elem)</span> (<span style="color:#f67400">1</span>, <span style="color:#f67400">2</span>, <span style="color:#f67400">3</span>);
0679 
0680 <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$_</span> <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#da4453">/</span><span style="color:#27ae60">A</span><span style="color:#da4453">/</span> <span style="color:#3f8058">^ff^</span> <span style="color:#da4453">/</span><span style="color:#27ae60">C</span><span style="color:#da4453">/</span> <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">@list</span>
0681 
0682 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@result</span>;
0683 <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">people of earth</span><span style="color:#3daee9">></span>
0684     <span style="color:#3f8058">==></span> <span style="color:#8e44ad">map</span>({ <span style="color:#3f8058">.</span>tc })
0685     <span style="color:#3f8058">==></span> <span style="font-weight:bold">my</span> <span style="color:#27aeae">@caps</span>; <span style="color:#27aeae">@caps</span>   <span style="color:#7a7c7d"># also could wrap in parentheses instead</span>
0686     <span style="color:#3f8058">==></span> grep <span style="color:#da4453">/</span><span style="color:#3daee9">&lt;</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#da4453">PE</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#3daee9">></span><span style="color:#da4453">/</span>
0687     <span style="color:#3f8058">==></span> sort()
0688     <span style="color:#3f8058">==></span> <span style="color:#27aeae">@result</span>;
0689 
0690 <span style="font-weight:bold">my</span> <span style="color:#27aeae">@result</span>
0691     <span style="color:#3f8058">&lt;==</span> sort()
0692     <span style="color:#3f8058">&lt;==</span> grep({ <span style="color:#da4453">/</span><span style="color:#3daee9">&lt;</span><span style="color:#0099ff;font-weight:bold">[</span><span style="color:#da4453">PE</span><span style="color:#0099ff;font-weight:bold">]</span><span style="color:#3daee9">></span><span style="color:#da4453">/</span> })
0693     <span style="color:#3f8058">&lt;==</span> <span style="font-weight:bold">my</span> <span style="color:#27aeae">@caps</span>            <span style="color:#7a7c7d"># unlike ==>, there's no need for additional statement</span>
0694     <span style="color:#3f8058">&lt;==</span> <span style="color:#8e44ad">map</span>({ <span style="color:#3f8058">.</span>tc })
0695     <span style="color:#3f8058">&lt;==</span> <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">people of earth</span><span style="color:#3daee9">></span>;
0696 
0697 <span style="font-weight:bold">False</span> <span style="color:#3f8058">and</span> <span style="font-weight:bold">do</span> { <span style="color:#f67400">42</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> };
0698 <span style="color:#f67400">3</span>, <span style="font-weight:bold">do</span> <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#f67400">1</span> { <span style="color:#f67400">2</span> }  ;
0699 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#f67400">0</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">no</span><span style="color:#3daee9">"</span> } <span style="color:#fdbc4b;font-weight:bold">elsif</span> <span style="font-weight:bold">False</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">NO</span><span style="color:#3daee9">"</span> } <span style="color:#fdbc4b;font-weight:bold">else</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">"</span><span style="color:#f44f4f">yes</span><span style="color:#3daee9">"</span> }
0700 <span style="color:#27aeae">$_</span> <span style="color:#3f8058">=</span> <span style="color:#f67400">1</span>; <span style="color:#fdbc4b;font-weight:bold">unless</span> <span style="font-weight:bold">False</span> <span style="color:#3f8058">-></span> <span style="color:#27aeae">$a</span> { <span style="color:#27aeae">$a</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> } ;
0701 <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#3f8058">so</span> <span style="color:#27aeae">$a</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">a</span><span style="color:#3daee9">'</span> }
0702 
0703 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#f67400">1</span><span style="color:#3f8058">..</span><span style="color:#f67400">100</span> {
0704     <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#27aeae">*</span> <span style="color:#3f8058">%%</span> <span style="color:#f67400">15</span> { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">FizzBuzz</span><span style="color:#3daee9">'</span> }
0705     <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#27aeae">*</span> <span style="color:#3f8058">%%</span> <span style="color:#f67400">3</span>  { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">Fizz</span><span style="color:#3daee9">'</span> }
0706     <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#27aeae">*</span> <span style="color:#3f8058">%%</span> <span style="color:#f67400">5</span>  { <span style="color:#8e44ad">say</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">Buzz</span><span style="color:#3daee9">'</span> }
0707     <span style="color:#fdbc4b;font-weight:bold">default</span>      { <span style="color:#8e44ad">say</span> <span style="color:#27aeae">$_</span> }
0708 }
0709 
0710 <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">sub</span> grab(<span style="color:#27aeae">*</span><span style="color:#3f8058">*</span><span style="color:#27aeae">@a</span>) { <span style="color:#3daee9">"</span><span style="color:#f44f4f">grab </span><span style="color:#27aeae">$_</span><span style="color:#3daee9">"</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#27aeae">@a</span> }
0711 <span style="color:#7f8c8d">multi</span> <span style="color:#7f8c8d">sub</span> grab(<span style="color:#27aeae">\a</span>) {
0712     a <span style="color:#3f8058">~~</span> <span style="color:#2980b9">Iterable</span> <span style="color:#3f8058">and</span> a<span style="color:#3f8058">.</span><span style="color:#2980b9">VAR</span> <span style="color:#3f8058">!~~</span> <span style="color:#2980b9">Scalar</span> <span style="color:#3f8058">??</span> nextwith(<span style="color:#3f8058">|</span>a) <span style="color:#3f8058">!!</span> nextwith(a,)
0713 }
0714 
0715 <span style="color:#fdbc4b;font-weight:bold">for</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">.</span><span style="color:#3daee9">'</span> {
0716     <span style="color:#3f8058">.</span><span style="color:#2980b9">Str</span><span style="color:#3f8058">.</span><span style="color:#8e44ad">say</span> <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#3f8058">!</span><span style="color:#3f8058">.</span><span style="color:#2980b9">IO</span><span style="color:#3f8058">.</span>d;
0717     <span style="color:#3f8058">.</span><span style="color:#2980b9">IO</span><span style="color:#3f8058">.</span>dir()»<span style="color:#3f8058">.</span><span style="color:#27aeae">&amp;</span><span style="color:#2980b9">?</span><span style="color:#27aeae">BLOCK</span> <span style="color:#fdbc4b;font-weight:bold">when</span> <span style="color:#3f8058">.</span><span style="color:#2980b9">IO</span><span style="color:#3f8058">.</span>d <span style="color:#7a7c7d"># lets recurse a little!</span>
0718 }
0719 
0720 <span style="color:#8e44ad">say</span> a»<span style="color:#3f8058">.</span>(<span style="color:#f67400">0.5</span>); <span style="color:#8e44ad">say</span> a>><span style="color:#3f8058">.</span>(<span style="color:#f67400">0.5</span>); a<span style="color:#3f8058">.:</span><span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">sa</span><span style="color:#3daee9">></span> ; a<span style="color:#3f8058">.</span> sa :<span style="color:#3f8058">!</span><span style="font-weight:bold">False</span>
0721 func <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">a b</span><span style="color:#3daee9">></span>
0722 
0723 
0724 <span style="color:#fdbc4b;font-weight:bold">if</span> <span style="color:#3daee9">'</span><span style="color:#f44f4f">abc-abc-abc</span><span style="color:#3daee9">'</span> <span style="color:#3f8058">~~</span> <span style="color:#da4453">/</span><span style="color:#27ae60"> </span><span style="color:#3f8058">$&lt;string></span><span style="color:#27ae60">=</span>(<span style="color:#27ae60"> </span>[<span style="color:#27ae60"> </span><span style="color:#3f8058">$&lt;part></span><span style="color:#27ae60">=</span>[<span style="color:#27ae60">abc</span>]<span style="color:#27ae60"> </span>]<span style="color:#fdbc4b;font-weight:bold">*</span><span style="color:#27ae60"> </span><span style="color:#fdbc4b;font-weight:bold">%</span><span style="color:#27ae60"> </span><span style="color:#3daee9">'</span><span style="color:#f44f4f">-</span><span style="color:#3daee9">'</span><span style="color:#27ae60"> </span>)<span style="color:#27ae60"> </span><span style="color:#da4453">/</span> {
0725     <span style="color:#8e44ad">say</span> <span style="color:#3f8058">~</span><span style="color:#27aeae">$&lt;string></span>;          <span style="color:#7a7c7d"># OUTPUT: «abc-abc-abc␤»</span>
0726     <span style="color:#8e44ad">say</span> <span style="color:#3f8058">~</span><span style="color:#27aeae">$&lt;string>&lt;part></span>;    <span style="color:#7a7c7d"># OUTPUT: «abc abc abc␤»</span>
0727     <span style="color:#8e44ad">say</span> <span style="color:#3f8058">~</span><span style="color:#27aeae">$&lt;string>&lt;part></span>[<span style="color:#f67400">0</span>]; <span style="color:#7a7c7d"># OUTPUT: «abc␤»</span>
0728 }
0729 
0730 [«[«[«[<span style="color:#3f8058">+</span>]»]»]»] <span style="color:#3daee9">&lt;</span><span style="color:#f44f4f">1 2 3 4</span><span style="color:#3daee9">></span>
0731 </pre></body></html>