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