commit 1911bccc1c4935ba0812db0b7a4a613e8e6716d8
parent 517876ee0024ac89260bd8461f7ef1890d125575
Author: Samir Parikh <noreply@samirparikh.com>
Date: Thu, 27 Oct 2022 01:05:10 +0000
start of part 1 of day08
Diffstat:
4 files changed, 360 insertions(+), 0 deletions(-)
diff --git a/day08/Day08.pm b/day08/Day08.pm
@@ -0,0 +1,33 @@
+package Day08;
+
+use strict;
+use warnings;
+use v5.32;
+
+use Exporter qw( import );
+our @EXPORT = qw( count_characters );
+
+
+sub count_characters {
+ my $string = shift;
+# say $string, " has a length of ", length $string;
+# if ( $string =~ m/\\\"/ ) {
+# say "I found a '\\\"' in $string";
+# }
+ my $backslash = qr/\\\\/;
+ my $double_quote = qr/\\\"/;
+ my $ascii = qr/\\x[0-9a-f]{2}/;
+# say "$string has a backslash" if $string =~ m/$backslash/g;
+# say "$string has a double quote" if $string =~ m/$double_quote/g;
+# say "$string has an ascii" if $string =~ m/$ascii/gi;
+ my $backslash_count = () = $string =~ m/$backslash/g;
+ my $double_quote_count = () = $string =~ m/$double_quote/g;
+ my $ascii_count = () = $string =~ m/$ascii/gi;
+ say "$string\t", length $string, "\t$backslash_count\t$double_quote_count\t$ascii_count";
+ my $string_characters = length $string;
+ my $memory_characters = $string_characters - 2 - $backslash_count
+ - $double_quote_count - (3 * $ascii_count);
+ return $string_characters - $memory_characters;
+}
+
+1;
diff --git a/day08/day08.pl b/day08/day08.pl
@@ -0,0 +1,21 @@
+#!/usr/local/bin/perl
+# day 2015-08
+
+use strict;
+use warnings;
+use v5.32;
+use lib '.';
+use Day08 qw< count_characters >;
+
+@ARGV = "input" unless @ARGV;
+chomp( my $input = do { local $/; <> } );
+
+my @strings = split /\n/, $input;
+my $part1;
+
+say "string\tlength\tslash\tquote\tascii";
+foreach ( @strings ) {
+ $part1 += count_characters( $_ );
+}
+
+say "part 1: ", $part1;
diff --git a/day08/input b/day08/input
@@ -0,0 +1,300 @@
+"sjdivfriyaaqa\xd2v\"k\"mpcu\"yyu\"en"
+"vcqc"
+"zbcwgmbpijcxu\"yins\"sfxn"
+"yumngprx"
+"bbdj"
+"czbggabkzo\"wsnw\"voklp\"s"
+"acwt"
+"aqttwnsohbzian\"evtllfxwkog\"cunzw"
+"ugvsgfv"
+"xlnillibxg"
+"kexh\"pmi"
+"syvugow"
+"m\"ktqnw"
+"yrbajyndte\\rm"
+"f\"kak\x70sn\xc4kjri"
+"yxthr"
+"alvumfsjni\"kohg"
+"trajs\x5brom\xf1yoijaumkem\"\"tahlzs"
+"\"oedr\"pwdbnnrc"
+"qsmzhnx\""
+"\"msoytqimx\\tbklqz"
+"mjdfcgwdshrehgs"
+"\"rivyxahf\""
+"ciagc\x04bp"
+"xkfc"
+"xrgcripdu\x4c\xc4gszjhrvumvz\"mngbirb"
+"gvmae\"yiiujoqvr\"mkxmgbbut\"u"
+"ih"
+"ncrqlejehs"
+"mkno\x43pcfdukmemycp"
+"uanzoqxkpsksbvdnkji\"feamp"
+"axoufpnbx\\ao\x61pfj\"b"
+"dz\\ztawzdjy"
+"ihne\"enumvswypgf"
+"\"dgazthrphbshdo\\vuqoiy\""
+"dlnmptzt\\zahwpylc\\b\"gmslrqysk"
+"mhxznyzcp"
+"rebr\"amvxw\x5fmbnfpkkeghlntavj"
+"lades\x47ncgdof\"\"jmbbk"
+"dwxuis\xa5wdkx\\z\"admgnoddpgkt\\zs"
+"g\\k\x27qsl\x34hwfglcdxqbeclt\xca\\"
+"lhyjky\\m\"pvnm\\xmynpxnlhndmahjl"
+"c\"uxabbgorrpprw\"xas\\vefkxioqpt"
+"rfrvjxpevcmma\x71gtfipo"
+"fgh\"kcwoqwfnjgdlzfclprg\"q"
+"onxnwykrba"
+"hkkg\x60f\"tjzsanpvarzgkfipl"
+"\"aintes\"ofq\"juiaqlqxmvpe\\a"
+"wiyczzs\"ciwk"
+"mfqeu"
+"v\xe1z\x7ftzalmvdmncfivrax\\rjwq"
+"k\"vtg"
+"exhrtdugeml\xf0"
+"behnchkpld"
+"mhgxy\"mfcrg\xc5gnp\"\"osqhj"
+"rlvjy"
+"awe"
+"ctwy"
+"vt"
+"\x54t"
+"zugfmmfomz"
+"cv\"cvcvfaada\x04fsuqjinbfh\xa9cq\xd2c\"d"
+"oj"
+"xazanf\"wbmcrn"
+"\\\\zkisyjpbzandqikqjqvee"
+"dpsnbzdwnxk\\v"
+"sj\"tuupr\\oyoh"
+"myvkgnw\x81q\xaaokt\\emgejbsyvxcl\\\xee"
+"ejeuqvunjcirdkkpt\"nlns"
+"twmlvwxyvfyqqzu"
+"\"xwtzdp\x98qkcis\"dm\\\"ep\"xyykq"
+"vvcq\\expok"
+"wgukjfanjgpdjb"
+"\"mjcjajnxy\\dcpc"
+"wdvgnecw\\ab\x44klceduzgsvu"
+"dqtqkukr\"iacngufbqkdpxlwjjt"
+"\"xj\"\x66qofsqzkoah"
+"nptiwwsqdep"
+"gsnlxql\x30mjl"
+"yeezwokjwrhelny\""
+"bjauamn\\izpmzqqasid"
+"tvjdbkn\"tiziw\x82r"
+"w"
+"xwoakbbnjnypnaa\xa9wft\"slrmoqkl"
+"vwxtnlvaaasyruykgygrvpiopzygf\"vq"
+"qdancvnvmhlmpj\\isdxs"
+"xzc\\elw"
+"b\"wxeqvy\"qf\"g\xcaoklsucwicyw\"dovr"
+"yomlvvjdbngz\"rly\"afr"
+"bfb\"x\"aweuwbwmoa\x13\"t\"zhr"
+"\"dmfoxb\"qvpjzzhykt\xd2\"\"ryhxi"
+"psqef\"yu\\qiflie\"\x79w"
+"arzewkej\"lqmh\\sayyusxxo\\"
+"vuvvp"
+"hc\"lg\x6bcpupsewzklai\"l"
+"cjdfygc\"auorqybnuqghsh\x10"
+"j"
+"wqjexk\"eyq\\lbroqhk\\dqzsqk"
+"dws\"ru\"dvxfiwapif\"oqwzmle"
+"agcykg\\jt\\vzklqjvknoe"
+"kksd\"jmslja\\z\"y\\b\xaagpyojct"
+"nnpipxufvbfpoz\"jno"
+"dtw"
+"xlolvtahvgqkx\\dgnhj\\spsclpcxv\\"
+"mxea\\mbjpi"
+"lgbotkk\"zmxh\\\\qji\"jszulnjsxkqf"
+"lwckmhwhx\"gmftlb\x91am"
+"xxdxqyxth"
+"\"lmqhwkjxmvayxy"
+"tf"
+"qy"
+"wdqmwxdztax\"m\"\x09\x11xdxmfwxmtqgwvf"
+"\xcbnazlf\"ghziknszmsrahaf"
+"e\x6aupmzhxlvwympgjjpdvo\"kylfa"
+"\x81vhtlillb\xactgoatva"
+"dvnlgr"
+"f"
+"xg\xfacwizsadgeclm"
+"vnnrzbtw\"\\prod\\djbyppngwayy\""
+"lrt\xf4jahwvfz"
+"aqpnjtom\"ymkak\\dadfybqrso\\fwv"
+"gz\"aac\"mrbk\"ktommrojraqh"
+"wycamwoecsftepfnlcdkm"
+"nrhddblbuzlqsl\x9cben"
+"vckxhyqkmqmdseazcykrbysm"
+"sil\xbbtevmt\"gvrvybui\"faw\"j"
+"cjex\\tp\x45pzf"
+"asjobvtxszfodgf\"ibftg"
+"gkyjyjdrxdcllnh\"sjcibenrdnxv"
+"oswsdpjyxpbwnqbcpl\"yrdvs\\zq"
+"\"\"tyowzc\\fycbp\"jbwrbvgui"
+"cbpcabqkdgzmpgcwjtrchxp"
+"iyrzfh\x45gw\"fdlfpiaap\x31xqq"
+"evgksznidz"
+"b\\w\\"
+"loufizbiy\x57aim\"bgk"
+"qjfyk"
+"g\"anmloghvgr\x07zwqougqhdz"
+"usbbmwcxd\\bdgg"
+"htitqcpczml"
+"eke\\cqvpexqqk\"to\"tqmljrpn\xe6lji\""
+"g\xd2ifdsej"
+"h\"sk\"haajajpagtcqnzrfqn\xe6btzo"
+"wfkuffdxlvm\\cvlyzlbyunclhmpp"
+"myaavh\"spue"
+"hqvez\x68d\"eo\"eaioh"
+"s\"qd\"oyxxcglcdnuhk"
+"ilqvar"
+"srh"
+"puuifxrfmpc\"bvalwi\x2blu\\"
+"yywlbutufzysbncw\\nqsfbhpz\"mngjq"
+"zbl\\jfcuop"
+"hjdouiragzvxsqkreup\\"
+"qi"
+"ckx\\funlj\xa7ahi"
+"k"
+"ufrcnh\"ajteit"
+"cqv\"bgjozjj\x60x\xa8yhvmdvutchjotyuz"
+"hkuiet\"oku\x8cfhumfpasl"
+"\"\\sbe\x4d"
+"vhknazqt"
+"eyyizvzcahgflvmoowvs\\jhvygci"
+"kki\x3ewcefkgtjap\"xtpxh\"lzepoqj"
+"wvtk"
+"\"ynet"
+"zh\\obk\"otagx\x59txfzf"
+"ocowhxlx\xe6zqg\x63wx\\tclkhq\\vmaze"
+"w\"cf"
+"qpniprnrzrnvykghqnalr"
+"jctcqra\"\x05dhlydpqamorqjsijt\\xjdgt"
+"sig"
+"qhlbidbflwxe\"xljbwls\x20vht"
+"irmrebfla\xefsg\"j"
+"nep"
+"hjuvsqlizeqobepf"
+"guzbcdp\"obyh"
+"\"mjagins\xf9tqykaxy\""
+"knvsdnmtr\"zervsb"
+"hzuy"
+"zza\"k\"buapb\\elm\xfeya"
+"lrqar\"dfqwkaaqifig\"uixjsz"
+"\"azuo\x40rmnlhhluwsbbdb\x32pk\\yu\"pbcf"
+"dplkdyty"
+"rfoyciebwlwphcycmguc"
+"ivnmmiemhgytmlprq\\eh"
+"lhkyzaaothfdhmbpsqd\\yyw"
+"tnlzifupcjcaj"
+"\\qiyirsdrfpmu\\\x15xusifaag"
+"\\lcomf\\s"
+"uramjivcirjhqcqcg"
+"kkbaklbxfxikffnuhtu\xc6t\"d"
+"n\xefai"
+"\"toy\"bnbpevuzoc\"muywq\"gz\"grbm"
+"\"muu\\wt"
+"\\srby\"ee"
+"erf\"gvw\"swfppf"
+"pbqcgtn\"iuianhcdazfvmidn\\nslhxdf"
+"uxbp"
+"up\\mgrcyaegiwmjufn"
+"nulscgcewj\\dvoyvhetdegzhs\""
+"masv\"k\\rzrb"
+"qtx\x79d\"xdxmbxrvhj"
+"fid\\otpkgjlh\"qgsvexrckqtn\xf4"
+"tagzu"
+"bvl\\\"noseec"
+"\\xgicuuh"
+"w\"a\"npemf"
+"sxp"
+"nsmpktic\x8awxftscdcvijjobnq\"gjd"
+"uks\"\"jxvyvfezz\"aynxoev\"cuoav"
+"m"
+"lkvokj"
+"vkfam\"yllr\"q\x92o\x4ebecnvhshhqe\\"
+"efdxcjkjverw"
+"lmqzadwhfdgmep\x02tzfcbgrbfekhat"
+"cpbk\x9azqegbpluczssouop\x36ztpuoxsw"
+"cqwoczxdd\"erdjka"
+"cwvqnjgbw\\fxdlby"
+"mvtm"
+"lt\"bbqzpumplkg"
+"ntd\xeeuwweucnuuslqfzfq"
+"y\xabl\"dbebxjrlbmuoo\\\x1au"
+"qjoqx\\a"
+"pu\"ekdnfpmly\xbago\""
+"fjhhdy"
+"arl"
+"xcywisim\"bwuwf\"\"raepeawwjub"
+"pbe"
+"dbnqfpzyaumxtqnd\xc5dcqrkwyop"
+"ojv\x40vtkwgkqepm\x8bzft\\vedrry"
+"wggqkfbwqumsgajqwphjec\"mstxpwz"
+"zjkbem"
+"icpfqxbelxazlls"
+"pvpqs\\abcmtyielugfgcv\"tjxapxqxnx"
+"oqddwlvmtv\"\x39lyybylfb\"jmngnpjrdw"
+"gisgbve"
+"\"aglg"
+"y\"\"ss\xafvhxlrjv"
+"qbgqjsra"
+"ihshbjgqpdcljpmdwdprwloy"
+"djja\\wcdn\"svkrgpqn\"uz\"hc\x43hj"
+"cbjm"
+"pnn"
+"pqvh\"noh"
+"\"\\fdktlp"
+"ncea"
+"pqgzphiyy"
+"\xbedovhxuipaohlcvkwtxwmpz\"ckaif\"r"
+"arjuzbjowqciunfwgxtph\"vlhy\"n"
+"c"
+"nrpdxunulgudqzlhtae"
+"iefheu\"uru\""
+"aqijysxuijud\"np\\opbichhudil\xbesum"
+"pfpevmtstl\"lde\"bzr\"vspdxs"
+"vparfbdjwvzsocpnzhp"
+"g\x4ffxaarafrsjthq\\\xc1rw"
+"ng\\rqx\\gwpzucbh\xafl"
+"rw\"nf\\dna"
+"jkkeahxurxla\\g\xb3czrlsyimmwcwthr"
+"twaailoypu\"oas\"kpuuyedlaw\\\xb0vzt"
+"hznex\\gdiqvtugi"
+"imdibsunjeswhk"
+"ta\\icileuzpxro\"cfmv\"mzp"
+"coykr\x57luiysucfaflmilhlehmvzeiepo"
+"u\x3dfh\xd4yt"
+"piw\x1bz\"eowy\"vfk\"wqiekw"
+"gan\"y"
+"p\"bevidoazcznr\"hddxuuq\""
+"bwzucczznutbxe"
+"z\"viqgyqjisior\\iecosmjbknol"
+"dmlpcglcfkfsctxydjvayhymv\x3c\\gp"
+"bfvkqrintbbvgfv"
+"xlzntrgdck\"cprc\xadczyarbznqmuhxyuh"
+"uqdxnuwioc\"kdytxq\\ig"
+"xrafmucpmfi"
+"vr\"hltmfrge"
+"eonf\"nt\\wtcnsocs"
+"j\xb7xoslyjeyjksplkqixncgkylkw"
+"njw\"pefgfbez\x9axshdmplxzquqe"
+"di\x58bvptfsafirpc"
+"l\x1fkco"
+"x"
+"mprndo\"n"
+"psegit"
+"svbdnkkuuqs\"sqxu\"oqcyz\"aizashk"
+"cwkljukxer\\\"\\nff\"esjwiyaoy"
+"ilxrkgbjjxpvhdtq\"cpiuoofdnkpp"
+"hlngi\"ulxep\\qohtmqnqjb\"rkgerho"
+"gxws\"bcgm\"p"
+"bv\"mds\\zhfusiepgrz\\b\x32fscdzz"
+"l\xfampwtme\x69qvxnx\"\"\xc4jruuymjxrpsv"
+"qqmxhrn"
+"xziq\\\x18ybyv\x9am\"neacoqjzytertisysza"
+"aqcbvlvcrzceeyx\\j\"\"x"
+"yjuhhb"
+"\x5em\"squulpy"
+"dpbntplgmwb"
+"utsgfkm\\vbftjknlktpthoeo"
+"ccxjgiocmuhf\"ycnh"
+"lltj\"kbbxi"
diff --git a/day08/test2 b/day08/test2
@@ -0,0 +1,6 @@
+"kki\x3ewcefkgtjap\"xtpxh\"lzepoqj"
+""
+"abc"
+"aaa\"aaa"
+"\x27"
+"hello\\there"