aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2022-10-03 14:31:22 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2022-10-03 14:31:22 +0100
commit2ad14f79a51d96d4bde8c358982bf6fb320c2dfb (patch)
treeda1cc67a3ec3bf3839bc4a75d1df950913ab4aa1
parent28dc2b86e008c47b91abdad519be34b4e18338f6 (diff)
downloadperlweeklychallenge-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.pl41
-rw-r--r--challenge-185/mohammad-anwar/perl/ch-2.pl60
-rw-r--r--stats/pwc-current.json97
-rw-r--r--stats/pwc-language-breakdown-summary.json48
-rw-r--r--stats/pwc-language-breakdown.json2596
-rw-r--r--stats/pwc-leaders.json428
-rw-r--r--stats/pwc-summary-1-30.json98
-rw-r--r--stats/pwc-summary-121-150.json46
-rw-r--r--stats/pwc-summary-151-180.json60
-rw-r--r--stats/pwc-summary-181-210.json94
-rw-r--r--stats/pwc-summary-211-240.json46
-rw-r--r--stats/pwc-summary-241-270.json108
-rw-r--r--stats/pwc-summary-31-60.json110
-rw-r--r--stats/pwc-summary-61-90.json56
-rw-r--r--stats/pwc-summary-91-120.json34
-rw-r--r--stats/pwc-summary.json36
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,
-