diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-10-03 14:31:22 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-10-03 14:31:22 +0100 |
| commit | 2ad14f79a51d96d4bde8c358982bf6fb320c2dfb (patch) | |
| tree | da1cc67a3ec3bf3839bc4a75d1df950913ab4aa1 | |
| parent | 28dc2b86e008c47b91abdad519be34b4e18338f6 (diff) | |
| download | perlweeklychallenge-club-2ad14f79a51d96d4bde8c358982bf6fb320c2dfb.tar.gz perlweeklychallenge-club-2ad14f79a51d96d4bde8c358982bf6fb320c2dfb.tar.bz2 perlweeklychallenge-club-2ad14f79a51d96d4bde8c358982bf6fb320c2dfb.zip | |
- Added Perl solutions to the week 185.
| -rw-r--r-- | challenge-185/mohammad-anwar/perl/ch-1.pl | 41 | ||||
| -rw-r--r-- | challenge-185/mohammad-anwar/perl/ch-2.pl | 60 | ||||
| -rw-r--r-- | stats/pwc-current.json | 97 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 48 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 2596 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 428 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 98 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 60 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 94 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 56 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 36 |
16 files changed, 2037 insertions, 1921 deletions
diff --git a/challenge-185/mohammad-anwar/perl/ch-1.pl b/challenge-185/mohammad-anwar/perl/ch-1.pl new file mode 100644 index 0000000000..5b4f3ce3ed --- /dev/null +++ b/challenge-185/mohammad-anwar/perl/ch-1.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl + +=head1 + +Week 185: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-185 + +Task #1: MAC Address + + You are given MAC address in the form i.e. hhhh.hhhh.hhhh. + + Write a script to convert the address in the form hh:hh:hh:hh:hh:hh. + +=cut + +use v5.36; +use Test2::V0; + +is mac_address('1ac2.34f0.b1c2'), '1a:c2:34:f0:b1:c2', 'Example 1'; +is mac_address('abc1.20f1.345a'), 'ab:c1:20:f1:34:5a', 'Example 2'; + +done_testing; + +# +# +# METHOD + +sub mac_address($str) { + $str =~ s/\.//g; + my @chars = split //, $str; + + my $i = 0; + my @str = (); + while ($i < @chars) { + push @str, $chars[$i].$chars[$i+1]; + $i += 2; + } + + return join(":", @str); +} diff --git a/challenge-185/mohammad-anwar/perl/ch-2.pl b/challenge-185/mohammad-anwar/perl/ch-2.pl new file mode 100644 index 0000000000..62a00d8a09 --- /dev/null +++ b/challenge-185/mohammad-anwar/perl/ch-2.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl + +=head1 + +Week 185: + + https://theweeklychallenge.org/blog/perl-weekly-challenge-185 + +Task #2: Mask Code + + You are given a list of codes in many random format. + + Write a script to mask first four characters (a-z,0-9) and keep + the rest as it is. + +=cut + +use v5.36; +use Test2::V0; + +is mask_code('ab-cde-123', '123.abc.420', '3abc-0010.xy'), + [ 'xx-xxe-123', 'xxx.xbc.420', 'xxxx-0010.xy' ], + 'Example 1'; + +is mask_code('1234567.a', 'a-1234-bc', 'a.b.c.d.e.f'), + [ 'xxxx567.a', 'x-xxx4-bc', 'x.x.x.x.e.f' ], + 'Example 2'; + +done_testing; + +# +# +# METHOD + +sub mask_code(@list) { + my @mc = (); + foreach my $entry (@list) { + my $mask = ''; + my $i = 0; + + foreach my $char (split //, $entry) { + if ($i < 4) { + if ($char =~ /^[a-z0-9]$/) { + $mask .= 'x'; + $i++ + } + else { + $mask .= $char; + } + } + else { + $mask .= $char; + } + } + + push @mc, $mask; + } + + return \@mc; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7dca38b512..385540d2f1 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,49 +1,78 @@ { + "subtitle" : { + "text" : "[Champions: 5] Last updated at 2022-10-03 13:29:44 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "legend" : { + "enabled" : 0 + }, + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1 + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "series" : [ { - "colorByPoint" : 1, "name" : "The Weekly Challenge - 185", "data" : [ { - "drilldown" : "Dave Cross", "name" : "Dave Cross", - "y" : 2 + "y" : 2, + "drilldown" : "Dave Cross" }, { - "drilldown" : "Luca Ferrari", "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", "y" : 8 }, { + "name" : "Mark Anderson", "drilldown" : "Mark Anderson", + "y" : 2 + }, + { "y" : 2, - "name" : "Mark Anderson" + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { + "drilldown" : "Niels van Dijke", "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" + "name" : "Niels van Dijke" } - ] + ], + "colorByPoint" : 1 } ], - "subtitle" : { - "text" : "[Champions: 4] Last updated at 2022-10-03 12:18:35 GMT" + "title" : { + "text" : "The Weekly Challenge - 185" }, "drilldown" : { "series" : [ { - "name" : "Dave Cross", "data" : [ [ "Perl", 2 ] ], - "id" : "Dave Cross" + "id" : "Dave Cross", + "name" : "Dave Cross" }, { - "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -54,59 +83,45 @@ 6 ] ], + "id" : "Luca Ferrari", "name" : "Luca Ferrari" }, { - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], + "id" : "Mark Anderson", "name" : "Mark Anderson" }, { + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", "data" : [ [ "Perl", 2 ] - ], + ] + }, + { "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + "id" : "Niels van Dijke", + "data" : [ + [ + "Perl", + 2 + ] + ] } ] }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "title" : { - "text" : "The Weekly Challenge - 185" - }, "chart" : { "type" : "column" }, - "tooltip" : { - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", - "followPointer" : 1 - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "xAxis" : { "type" : "category" - }, - "legend" : { - "enabled" : 0 } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index f00827500b..6382eb60dc 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,19 +1,4 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } - }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, "series" : [ { "data" : [ @@ -23,41 +8,56 @@ ], [ "Perl", - 8975 + 8977 ], [ "Raku", 5366 ] ], - "name" : "Contributions", "dataLabels" : { - "color" : "#FFFFFF", "format" : "{point.y:.0f}", "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" }, "rotation" : -90, + "align" : "right", "enabled" : "true", - "y" : 10, - "align" : "right" - } + "color" : "#FFFFFF", + "y" : 10 + }, + "name" : "Contributions" } ], + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, + "chart" : { + "type" : "column" + }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontFamily" : "Verdana, sans-serif", "fontSize" : "13px" } - }, - "type" : "category" + } }, "subtitle" : { - "text" : "Last updated at 2022-10-03 12:18:35 GMT" + "text" : "Last updated at 2022-10-03 13:29:44 GMT" }, "legend" : { "enabled" : "false" + }, + "yAxis" : { + "title" : { + "text" : null + }, + "min" : 0 + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index d93f9b696d..3344b6ba32 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,965 +1,14 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } + "xAxis" : { + "type" : "category" }, "chart" : { "type" : "column" }, - "tooltip" : { - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", - "followPointer" : "true", - "headerFormat" : "<span style=\"font-size:11px\"></span>" - }, - "title" : { - "text" : "The Weekly Challenge Language" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "series" : [ - { - "colorByPoint" : "true", - "data" : [ - { - "drilldown" : "001", - "y" : 161, - "name" : "#001" - }, - { - "drilldown" : "002", - "y" : 125, - "name" : "#002" - }, - { - "drilldown" : "003", - "name" : "#003", - "y" : 83 - }, - { - "drilldown" : "004", - "name" : "#004", - "y" : 99 - }, - { - "name" : "#005", - "y" : 78, - "drilldown" : "005" - }, - { - "y" : 58, - "name" : "#006", - "drilldown" : "006" - }, - { - "drilldown" : "007", - "y" : 65, - "name" : "#007" - }, - { - "name" : "#008", - "y" : 78, - "drilldown" : "008" - }, - { - "name" : "#009", - "y" : 76, - "drilldown" : "009" - }, - { - "y" : 65, - "name" : "#010", - "drilldown" : "010" - }, - { - "name" : "#011", - "y" : 85, - "drilldown" : "011" - }, - { - "name" : "#012", - "y" : 89, - "drilldown" : "012" - }, - { - "drilldown" : "013", - "name" : "#013", - "y" : 85 - }, - { - "name" : "#014", - "y" : 101, - "drilldown" : "014" - }, - { - "drilldown" : "015", - "name" : "#015", - "y" : 99 - }, - { - "drilldown" : "016", - "y" : 71, - "name" : "#016" - }, - { - "name" : "#017", - "y" : 84, - "drilldown" : "017" - }, - { - "drilldown" : "018", - "name" : "#018", - "y" : 81 - }, - { - "drilldown" : "019", - "y" : 103, - "name" : "#019" - }, - { - "name" : "#020", - "y" : 101, - "drilldown" : "020" - }, - { - "name" : "#021", - "y" : 72, - "drilldown" : "021" - }, - { - "y" : 68, - "name" : "#022", - "drilldown" : "022" - }, - { - "drilldown" : "023", - "y" : 97, - "name" : "#023" - }, - { - "drilldown" : "024", - "name" : "#024", - "y" : 75 - }, - { - "name" : "#025", - "y" : 59, - "drilldown" : "025" - }, - { - "y" : 74, - "name" : "#026", - "drilldown" : "026" - }, - { - "drilldown" : "027", - "y" : 62, - "name" : "#027" - }, - { - "name" : "#028", - "y" : 82, - "drilldown" : "028" - }, - { - "drilldown" : "029", - "y" : 81, - "name" : "#029" - }, - { - "drilldown" : "030", - "y" : 119, - "name" : "#030" - }, - { - "drilldown" : "031", - "y" : 91, - "name" : "#031" - }, - { - "drilldown" : "032", - "name" : "#032", - "y" : 96 - }, - { - "y" : 112, - "name" : "#033", - "drilldown" : "033" - }, - { - "drilldown" : "034", - "y" : 66, - "name" : "#034" - }, - { - "name" : "#035", - "y" : 66, - "drilldown" : "035" - }, - { - "name" : "#036", - "y" : 70, - "drilldown" : "036" - }, - { - "name" : "#037", - "y" : 69, - "drilldown" : "037" - }, - { - "y" : 70, - "name" : "#038", - "drilldown" : "038" - }, - { - "drilldown" : "039", - "y" : 64, - "name" : "#039" - }, - { - "name" : "#040", - "y" : 75, - "drilldown" : "040" - }, - { - "name" : "#041", - "y" : 78, - "drilldown" : "041" - }, - { - "drilldown" : "042", - "y" : 94, - "name" : "#042" - }, - { - "name" : "#043", - "y" : 70, - "drilldown" : "043" - }, - { - "drilldown" : "044", - "name" : "#044", - "y" : 87 - }, - { - "drilldown" : "045", - "name" : "#045", - "y" : 98 - }, - { - "name" : "#046", - "y" : 89, - "drilldown" : "046" - }, - { - "name" : "#047", - "y" : 86, - "drilldown" : "047" - }, - { - "y" : 110, - "name" : "#048", - "drilldown" : "048" - }, - { - "name" : "#049", - "y" : 91, - "drilldown" : "049" - }, - { - "drilldown" : "050", - "name" : "#050", - "y" : 100 - }, - { - "drilldown" : "051", - "y" : 91, - "name" : "#051" - }, - { - "name" : "#052", - "y" : 93, - "drilldown" : "052" - }, - { - "drilldown" : "053", - "name" : "#053", - "y" : 103 - }, - { - "drilldown" : "054", - "y" : 105, - "name" : "#054" - }, - { - "y" : 90, - "name" : "#055", - "drilldown" : "055" - }, - { - "drilldown" : "056", - "name" : "#056", - "y" : 97 - }, - { - "name" : "#057", - "y" : 82, - "drilldown" : "057" - }, - { - "y" : 71, - "name" : "#058", - "drilldown" : "058" - }, - { - "y" : 91, - "name" : "#059", - "drilldown" : "059" - }, - { - "name" : "#060", - "y" : 87, - "drilldown" : "060" - }, - { - "drilldown" : "061", - "y" : 83, - "name" : "#061" - }, - { - "drilldown" : "062", - "y" : 60, - "name" : "#062" - }, - { - "y" : 91, - "name" : "#063", - "drilldown" : "063" - }, - { - "name" : "#064", - "y" : 82, - "drilldown" : "064" - }, - { - "y" : 75, - "name" : "#065", - "drilldown" : "065" - }, - { - "y" : 86, - "name" : "#066", - "drilldown" : "066" - }, - { - "drilldown" : "067", - "name" : "#067", - "y" : 92 - }, - { - "name" : "#068", - "y" : 77, - "drilldown" : "068" - }, - { - "name" : "#069", - "y" : 85, - "drilldown" : "069" - }, - { - "drilldown" : "070", - "y" : 95, - "name" : "#070" - }, - { - "drilldown" : "071", - "y" : 80, - "name" : "#071" - }, - { - "name" : "#072", - "y" : 114, - "drilldown" : "072" - }, - { - "name" : "#073", - "y" : 112, - "drilldown" : "073" - }, - { - "y" : 117, - "name" : "#074", - "drilldown" : "074" - }, - { - "name" : "#075", - "y" : 117, - "drilldown" : "075" - }, - { - "drilldown" : "076", - "name" : "#076", - "y" : 101 - }, - { - "name" : "#077", - "y" : 100, - "drilldown" : "077" - }, - { - "drilldown" : "078", - "name" : "#078", - "y" : 127 - }, - { - "name" : "#079", - "y" : 122, - "drilldown" : "079" - }, - { - "drilldown" : "080", - "y" : 127, - "name" : "#080" - }, - { - "drilldown" : "081", - "name" : "#081", - "y" : 114 - }, - { - "drilldown" : "082", - "name" : "#082", - "y" : 114 - }, - { - "drilldown" : "083", - "y" : 127, - "name" : "#083" - }, - { - "name" : "#084", - "y" : 119, - "drilldown" : "084" - }, - { - "name" : "#085", - "y" : 114, - "drilldown" : "085" - }, - { - "drilldown" : "086", - "y" : 104, - "name" : "#086" - }, - { - "drilldown" : "087", - "y" : 101, - "name" : "#087" - }, - { - "name" : "#088", - "y" : 121, - "drilldown" : "088" - }, - { - "drilldown" : "089", - "name" : "#089", - "y" : 113 - }, - { - "drilldown" : "090", - "y" : 113, - "name" : "#090" - }, - { - "y" : 108, - "name" : "#091", - "drilldown" : "091" - }, - { - "drilldown" : "092", - "name" : "#092", - "y" : 98 - }, - { - "drilldown" : "093", - "y" : 87, - "name" : "#093" - }, - { - "y" : 87, - "name" : "#094", - "drilldown" : "094" - }, - { - "y" : 108, - "name" : "#095", - "drilldown" : "095" - }, - { - "drilldown" : "096", - "name" : "#096", - "y" : 108 - }, - { - "drilldown" : "097", - "y" : 111, - "name" : "#097" - }, - { - "y" : 108, - "name" : "#098", - "drilldown" : "098" - }, - { - "drilldown" : "099", - "name" : "#099", - "y" : 97 - }, - { - "drilldown" : "100", - "name" : "#100", - "y" : 120 - }, - { - "name" : "#101", - "y" : 83, - "drilldown" : "101" - }, - { - "y" : 90, - "name" : "#102", - "drilldown" : "102" - }, - { - "y" : 79, - "name" : "#103", - "drilldown" : "103" - }, - { - "name" : "#104", - "y" : 85, - "drilldown" : "104" - }, - { - "drilldown" : "105", - "name" : "#105", - "y" : 75 - }, - { - "drilldown" : "106", - "y" : 97, - "name" : "#106" - }, - { - "drilldown" : "107", - "name" : "#107", - "y" : 90 - }, - { - "name" : "#108", - "y" : 94, - "drilldown" : "108" - }, - { - "name" : "#109", - "y" : 107, - "drilldown" : "109" - }, - { - "name" : "#110", - "y" : 108, - "drilldown" : "110" - }, - { - "drilldown" : "111", - "name" : "#111", - "y" : 91 - }, - { - "y" : 92, - "name" : "#112", - "drilldown" : "112" - }, - { - "drilldown" : "113", - "name" : "#113", - "y" : 92 - }, - { - "drilldown" : "114", - "name" : "#114", - "y" : 108 - }, - { - "y" : 96, - "name" : "#115", - "drilldown" : "115" - }, - { - "drilldown" : "116", - "name" : "#116", - "y" : 95 - }, - { - "name" : "#117", - "y" : 97, - "drilldown" : "117" - }, - { - "drilldown" : "118", - "y" : 83, - "name" : "#118" - }, - { - "y" : 125, - "name" : "#119", - "drilldown" : "119" - }, - { - "name" : "#120", - "y" : 116, - "drilldown" : "120" - }, - { - "name" : "#121", - "y" : 92, - "drilldown" : "121" - }, - { - "drilldown" : "122", - "y" : 110, - "name" : "#122" - }, - { - "y" : 105, - "name" : "#123", - "drilldown" : "123" - }, - { - "name" : "#124", - "y" : 85, - "drilldown" : "124" - }, - { - "drilldown" : "125", - "y" : 63, - "name" : "#125" - }, - { - "y" : 113, - "name" : "#126", - "drilldown" : "126" - }, - { - "drilldown" : "127", - "y" : 110, - "name" : "#127" - }, - { - "name" : "#128", - "y" : 71, - "drilldown" : "128" - }, - { - "drilldown" : "129", - "y" : 50, - "name" : "#129" - }, - { - "drilldown" : "130", - "y" : 73, - "name" : "#130" - }, - { - "name" : "#131", - "y" : 91, - "drilldown" : "131" - }, - { - "drilldown" : "132", - "name" : "#132", - "y" : 78 - }, - { - "drilldown" : "133", - "name" : "#133", - "y" : 95 - }, - { - "drilldown" : "134", - "y" : 94, - "name" : "#134" - }, - { - "drilldown" : "135", - "y" : 104, - "name" : "#135" - }, - { - "name" : "#136", - "y" : 95, - "drilldown" : "136" - }, - { - "name" : "#137", - "y" : 100, - |
