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