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