aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-10-28 05:39:36 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-10-28 05:39:36 +0100
commitb82e18b1f05c60ab5501518a3895fc78ee026a75 (patch)
tree16b47843c0f3e36c59667303607251a1bad403dc
parent7162b4051fb9e0caa0e1c7c45619822d8f7c439c (diff)
downloadperlweeklychallenge-club-b82e18b1f05c60ab5501518a3895fc78ee026a75.tar.gz
perlweeklychallenge-club-b82e18b1f05c60ab5501518a3895fc78ee026a75.tar.bz2
perlweeklychallenge-club-b82e18b1f05c60ab5501518a3895fc78ee026a75.zip
- Added solutions by Laurent Rosenfeld.
-rw-r--r--challenge-136/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-136/laurent-rosenfeld/perl/ch-1.pl21
-rw-r--r--challenge-136/laurent-rosenfeld/perl/ch-2.pl39
-rw-r--r--challenge-136/laurent-rosenfeld/raku/ch-1.raku11
-rw-r--r--challenge-136/laurent-rosenfeld/raku/ch-2.raku12
-rw-r--r--stats/pwc-current.json221
-rw-r--r--stats/pwc-language-breakdown-summary.json54
-rw-r--r--stats/pwc-language-breakdown.json994
-rw-r--r--stats/pwc-leaders.json408
-rw-r--r--stats/pwc-summary-1-30.json116
-rw-r--r--stats/pwc-summary-121-150.json124
-rw-r--r--stats/pwc-summary-151-180.json54
-rw-r--r--stats/pwc-summary-181-210.json122
-rw-r--r--stats/pwc-summary-211-240.json34
-rw-r--r--stats/pwc-summary-241-270.json46
-rw-r--r--stats/pwc-summary-31-60.json126
-rw-r--r--stats/pwc-summary-61-90.json112
-rw-r--r--stats/pwc-summary-91-120.json48
-rw-r--r--stats/pwc-summary.json514
19 files changed, 1582 insertions, 1475 deletions
diff --git a/challenge-136/laurent-rosenfeld/blog.txt b/challenge-136/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..7d9e2645f4
--- /dev/null
+++ b/challenge-136/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2021/10/perl-weekly-challenge-136-two-friendly-and-fibonacci-sequence.html
diff --git a/challenge-136/laurent-rosenfeld/perl/ch-1.pl b/challenge-136/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..5baa93381d
--- /dev/null
+++ b/challenge-136/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,21 @@
+use strict;
+use warnings;
+use feature "say";
+
+sub gcd {
+ my ($i, $j) = @_;
+ return 0 if $i < 1 or $j < 1;
+ while ($j) {
+ ($i, $j) = ($j, $i % $j);
+ }
+ return $i;
+}
+sub is_friendly {
+ my $gcd = gcd $_[0], $_[1];
+ return 0 if $gcd <= 1;
+ $gcd /= 2 while $gcd % 2 == 0;
+ return $gcd == 1 ? 1 : 0;
+}
+for my $pair ([8, 24], [26, 39], [4, 10], [7, 5], [18, 0]) {
+ say "@$pair => ", is_friendly @$pair;
+}
diff --git a/challenge-136/laurent-rosenfeld/perl/ch-2.pl b/challenge-136/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..de524a364b
--- /dev/null
+++ b/challenge-136/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,39 @@
+use strict;
+use warnings;
+use feature "say";
+use Data::Dumper;
+
+my @comb;
+my @fib = qw /1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597/;
+
+sub sum {
+ my $sum = 0;
+ $sum += $_ for @_;
+ return $sum;
+}
+
+sub combine {
+ my $target = shift;
+ my $count = shift;
+ my @out = @{$_[0]};
+ my @in = @{$_[1]};
+ return if sum @out > $target;
+ push @comb, [@out] and return if sum(@out) == $target;
+ return if $count == 0;
+ for my $i (0..$#in) {
+ combine ($target, $count - 1, [@out, $in[$i]], [@in[$i+1..$#in]]);
+ }
+}
+
+
+sub fib_seq {
+ my $n = shift;
+ my @short_fib = grep { $_ <= $n } @fib;
+ my $count = scalar @short_fib;
+ @comb = ();
+ combine $n, $count, [], [@short_fib];
+ say "@$_" for @comb;
+ return scalar @comb;
+}
+
+say "Number of sequences for $_: ", fib_seq $_ for 16, 9, 15, 89, 100;
diff --git a/challenge-136/laurent-rosenfeld/raku/ch-1.raku b/challenge-136/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..aac4ddce18
--- /dev/null
+++ b/challenge-136/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,11 @@
+use v6;
+
+sub is-friendly (Int $i, Int $j) {
+ my $gcd = $i gcd $j;
+ return 0 if $gcd <= 1;
+ $gcd /= 2 while $gcd %% 2;
+ return $gcd == 1 ?? 1 !! 0;
+}
+for 8, 24, 26, 39, 4, 10, 7, 5, 18, 0 {
+ say "$^a, $^b => ", is-friendly $^a, $^b;
+}
diff --git a/challenge-136/laurent-rosenfeld/raku/ch-2.raku b/challenge-136/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..5067536a24
--- /dev/null
+++ b/challenge-136/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,12 @@
+use v6;
+
+my @fib = 1, 2, * + * ... * > 1000; # 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
+
+sub fib-seq (UInt $n) {
+ my $count = 0;
+ ++$count and .say for grep { $_.sum == $n }, @fib.grep({$_ <= $n }).combinations;
+ return $count;
+}
+for 16, 9, 15, 89, 100 {
+ say "Number of sequences for $_: ", fib-seq($_), "\n";
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 4736c6588b..8b918cd237 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,29 +1,97 @@
{
- "subtitle" : {
- "text" : "[Champions: 10] Last updated at 2021-10-28 04:29:26 GMT"
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
},
- "title" : {
- "text" : "The Weekly Challenge - 136"
+ "legend" : {
+ "enabled" : 0
},
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "legend" : {
- "enabled" : 0
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
+ "series" : [
+ {
+ "name" : "The Weekly Challenge - 136",
+ "data" : [
+ {
+ "y" : 4,
+ "drilldown" : "Abigail",
+ "name" : "Abigail"
+ },
+ {
+ "y" : 6,
+ "drilldown" : "Flavio Poletti",
+ "name" : "Flavio Poletti"
+ },
+ {
+ "y" : 5,
+ "drilldown" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld"
+ },
+ {
+ "y" : 4,
+ "name" : "Luca Ferrari",
+ "drilldown" : "Luca Ferrari"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson"
+ },
+ {
+ "y" : 2,
+ "name" : "Mohammad S Anwar",
+ "drilldown" : "Mohammad S Anwar"
+ },
+ {
+ "name" : "Paulo Custodio",
+ "drilldown" : "Paulo Custodio",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Roger Bell_West",
+ "name" : "Roger Bell_West"
+ },
+ {
+ "name" : "Simon Proctor",
+ "drilldown" : "Simon Proctor",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "name" : "Ulrich Rieke",
+ "drilldown" : "Ulrich Rieke"
+ },
+ {
+ "drilldown" : "W. Luis Mochan",
+ "name" : "W. Luis Mochan",
+ "y" : 3
+ }
+ ],
+ "colorByPoint" : 1
}
+ ],
+ "chart" : {
+ "type" : "column"
},
- "xAxis" : {
- "type" : "category"
+ "title" : {
+ "text" : "The Weekly Challenge - 136"
+ },
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "followPointer" : 1,
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
+ "subtitle" : {
+ "text" : "[Champions: 11] Last updated at 2021-10-28 04:37:15 GMT"
},
"drilldown" : {
"series" : [
@@ -38,10 +106,11 @@
2
]
],
- "name" : "Abigail",
- "id" : "Abigail"
+ "id" : "Abigail",
+ "name" : "Abigail"
},
{
+ "id" : "Flavio Poletti",
"data" : [
[
"Perl",
@@ -56,8 +125,25 @@
2
]
],
- "name" : "Flavio Poletti",
- "id" : "Flavio Poletti"
+ "name" : "Flavio Poletti"
+ },
+ {
+ "id" : "Laurent Rosenfeld",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Laurent Rosenfeld"
},
{
"name" : "Luca Ferrari",
@@ -80,12 +166,11 @@
2
]
],
- "name" : "Mark Anderson",
- "id" : "Mark Anderson"
+ "id" : "Mark Anderson",
+ "name" : "Mark Anderson"
},
{
"name" : "Mohammad S Anwar",
- "id" : "Mohammad S Anwar",
"data" : [
[
"Perl",
@@ -95,7 +180,8 @@
"Raku",
1
]
- ]
+ ],
+ "id" : "Mohammad S Anwar"
},
{
"data" : [
@@ -104,11 +190,10 @@
2
]
],
- "name" : "Paulo Custodio",
- "id" : "Paulo Custodio"
+ "id" : "Paulo Custodio",
+ "name" : "Paulo Custodio"
},
{
- "id" : "Roger Bell_West",
"name" : "Roger Bell_West",
"data" : [
[
@@ -119,11 +204,12 @@
"Raku",
2
]
- ]
+ ],
+ "id" : "Roger Bell_West"
},
{
- "id" : "Simon Proctor",
"name" : "Simon Proctor",
+ "id" : "Simon Proctor",
"data" : [
[
"Raku",
@@ -132,7 +218,6 @@
]
},
{
- "name" : "Ulrich Rieke",
"id" : "Ulrich Rieke",
"data" : [
[
@@ -143,11 +228,11 @@
"Raku",
2
]
- ]
+ ],
+ "name" : "Ulrich Rieke"
},
{
"id" : "W. Luis Mochan",
- "name" : "W. Luis Mochan",
"data" : [
[
"Perl",
@@ -157,74 +242,12 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "W. Luis Mochan"
}
]
},
- "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
- },
- "chart" : {
- "type" : "column"
- },
- "series" : [
- {
- "colorByPoint" : 1,
- "name" : "The Weekly Challenge - 136",
- "data" : [
- {
- "drilldown" : "Abigail",
- "y" : 4,
- "name" : "Abigail"
- },
- {
- "y" : 6,
- "drilldown" : "Flavio Poletti",
- "name" : "Flavio Poletti"
- },
- {
- "y" : 4,
- "drilldown" : "Luca Ferrari",
- "name" : "Luca Ferrari"
- },
- {
- "name" : "Mark Anderson",
- "drilldown" : "Mark Anderson",
- "y" : 2
- },
- {
- "y" : 2,
- "drilldown" : "Mohammad S Anwar",
- "name" : "Mohammad S Anwar"
- },
- {
- "drilldown" : "Paulo Custodio",
- "y" : 2,
- "name" : "Paulo Custodio"
- },
- {
- "name" : "Roger Bell_West",
- "y" : 4,
- "drilldown" : "Roger Bell_West"
- },
- {
- "drilldown" : "Simon Proctor",
- "y" : 2,
- "name" : "Simon Proctor"
- },
- {
- "name" : "Ulrich Rieke",
- "y" : 4,
- "drilldown" : "Ulrich Rieke"
- },
- {
- "drilldown" : "W. Luis Mochan",
- "y" : 3,
- "name" : "W. Luis Mochan"
- }
- ]
- }
- ]
+ "xAxis" : {
+ "type" : "category"
+ }
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 5a17e915f6..30f8d05e3b 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,31 +1,49 @@
{
+ "xAxis" : {
+ "type" : "category",
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ }
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2021-10-28 04:37:15 GMT"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "title" : {
+ "text" : "The Weekly Challenge Contributions [2019 - 2021]"
+ },
"series" : [
{
"data" : [
[
"Blog",
- 1966
+ 1967
],
[
"Perl",
- 6491
+ 6493
],
[
"Raku",
- 3954
+ 3956
]
],
"dataLabels" : {
- "enabled" : "true",
"rotation" : -90,
"color" : "#FFFFFF",
- "align" : "right",
"format" : "{point.y:.0f}",
- "y" : 10,
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
- }
+ },
+ "enabled" : "true",
+ "align" : "right",
+ "y" : 10
},
"name" : "Contributions"
}
@@ -33,29 +51,11 @@
"chart" : {
"type" : "column"
},
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
- }
- }
- },
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
- },
- "title" : {
- "text" : "The Weekly Challenge Contributions [2019 - 2021]"
- },
- "subtitle" : {
- "text" : "Last updated at 2021-10-28 04:29:26 GMT"
+ },
+ "min" : 0
},
"legend" : {
"enabled" : "false"
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 7f63f6a7fd..62d93886a7 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,7 +1,39 @@
{
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
+ },
+ "legend" : {
+ "enabled" : "false"
+ },
+ "tooltip" : {
+ "followPointer" : "true",
+ "headerFormat" : "<span style=\"font-size:11px\"></span>",
+ "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>"
+ },
+ "title" : {
+ "text" : "The Weekly Challenge Language"
+ },
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2021-10-28 04:37:15 GMT"
+ },
+ "xAxis" : {
+ "type" : "category"
+ },
"drilldown" : {
"series" : [
{
+ "id" : "001",
"data" : [
[
"Perl",
@@ -16,12 +48,10 @@
11
]
],
- "name" : "001",
- "id" : "001"
+ "name" : "001"
},
{
"name" : "002",
- "id" : "002",
"data" : [
[
"Perl",
@@ -35,11 +65,12 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "002"
},
{
- "id" : "003",
"name" : "003",
+ "id" : "003",
"data" : [
[
"Perl",
@@ -56,8 +87,6 @@
]
},
{
- "id" : "004",
- "name" : "004",
"data" : [
[
"Perl",
@@ -71,9 +100,12 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "004",
+ "name" : "004"
},
{
+ "id" : "005",
"data" : [
[
"Perl",
@@ -88,11 +120,9 @@
12
]
],
- "id" : "005",
"name" : "005"
},
{
- "id" : "006",
"name" : "006",
"data" : [
[
@@ -107,9 +137,11 @@
"Blog",
7
]
- ]
+ ],
+ "id" : "006"
},
{
+ "id" : "007",
"data" : [
[
"Perl",
@@ -124,7 +156,6 @@
10
]
],
- "id" : "007",
"name" : "007"
},
{
@@ -146,6 +177,8 @@
]
},
{
+ "name" : "009",
+ "id" : "009",
"data" : [
[
"Perl",
@@ -159,13 +192,10 @@
"Blog",
13
]
- ],
- "name" : "009",
- "id" : "009"
+ ]
},
{
"id" : "010",
- "name" : "010",
"data" : [
[
"Perl",
@@ -179,11 +209,11 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "010"
},
{
"id" : "011",
- "name" : "011",
"data" : [
[
"Perl",
@@ -197,7 +227,8 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "011"
},
{
"name" : "012",
@@ -254,6 +285,8 @@
"name" : "014"
},
{
+ "name" : "015",
+ "id" : "015",
"data" : [
[
"Perl",
@@ -267,13 +300,10 @@
"Blog",
15
]
- ],
- "id" : "015",
- "name" : "015"
+ ]
},
{
"name" : "016",
- "id" : "016",
"data" : [
[
"Perl",
@@ -287,7 +317,8 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "016"
},
{
"data" : [
@@ -326,6 +357,7 @@
"name" : "018"
},
{
+ "name" : "019",
"data" : [
[
"Perl",
@@ -340,12 +372,11 @@
13
]
],
- "id" : "019",
- "name" : "019"
+ "id" : "019"
},
{
- "id" : "020",
"name" : "020",
+ "id" : "020",
"data" : [
[
"Perl",
@@ -362,7 +393,6 @@
]
},
{
- "name" : "021",
"id" : "021",
"data" : [
[
@@ -377,9 +407,11 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "021"
},
{
+ "id" : "022",
"data" : [
[
"Perl",
@@ -394,11 +426,9 @@
10
]
],
- "id" : "022",
"name" : "022"
},
{
- "id" : "023",
"name" : "023",
"data" : [
[
@@ -413,11 +443,10 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "023"
},
{
- "name" : "024",
- "id" : "024",
"data" : [
[
"Perl",
@@ -431,9 +460,12 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "024",
+ "name" : "024"
},
{
+ "name" : "025",
"data" : [
[
"Perl",
@@ -448,10 +480,11 @@
12
]
],
- "name" : "025",
"id" : "025"
},
{
+ "name" : "026",
+ "id" : "026",
"data" : [
[
"Perl",
@@ -465,11 +498,11 @@
"Blog",
10
]
- ],
- "id" : "026",
- "name" : "026"
+ ]
},
{
+ "name" : "027",
+ "id" : "027",
"data" : [
[
"Perl",
@@ -483,11 +516,11 @@
"Blog",
9
]
- ],
- "name" : "027",
- "id" : "027"
+ ]
},
{
+ "name" : "028",
+ "id" : "028",
"data" : [
[
"Perl",
@@ -501,12 +534,9 @@
"Blog",
9
]
- ],
- "id" : "028",
- "name" : "028"
+ ]
},
{
- "id" : "029",
"name" : "029",
"data" : [
[
@@ -521,7 +551,8 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "029"
},
{
"name" : "030",
@@ -542,8 +573,6 @@
]
},
{
- "name" : "031",
- "id" : "031",
"data" : [
[
"Perl",
@@ -557,7 +586,9 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "031",
+ "name" : "031"
},
{
"name" : "032",
@@ -578,8 +609,6 @@
]
},
{
- "id" : "033",
- "name" : "033",
"data" : [
[
"Perl",
@@ -593,9 +622,13 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "033",
+ "name" : "033"
},
{
+ "name" : "034",
+ "id" : "034",
"data" : [
[
"Perl",
@@ -609,13 +642,9 @@
"Blog",
11
]
- ],
- "id" : "034",
- "name" : "034"
+ ]
},
{
- "id" : "035",
- "name" : "035",
"data" : [
[
"Perl",
@@ -629,9 +658,12 @@
"Blog",
9
]
- ]
+ ],
+ "id" : "035",
+ "name" : "035"
},
{
+ "id" : "036",
"data" : [
[
"Perl",
@@ -646,10 +678,10 @@
11
]
],
- "id" : "036",
"name" : "036"
},
{
+ "id" : "037",
"data" : [
[
"Perl",
@@ -664,10 +696,10 @@
9
]
],
- "name" : "037",
- "id" : "037"
+ "name" : "037"
},
{
+ "id" : "038",
"data" : [
[
"Perl",
@@ -682,10 +714,11 @@
12
]
],
- "name" : "038",
- "id" : "038"
+ "name" : "038"
},
{
+ "name" : "039",
+ "id" : "039",
"data" : [
[
"Perl",
@@ -699,12 +732,9 @@
"Blog",
12
]
- ],
- "id" : "039",
- "name" : "039"
+ ]
},
{
- "id" : "040",
"name" : "040",
"data" : [
[
@@ -719,7 +749,8 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "040"
},
{
"data" : [
@@ -740,6 +771,8 @@
"name" : "041"
},
{
+ "name" : "042",
+ "id" : "042",
"data" : [
[
"Perl",
@@ -753,13 +786,9 @@
"Blog",
11
]
- ],
- "id" : "042",
- "name" : "042"
+ ]
},
{
- "id" : "043",
- "name" : "043",
"data" : [
[
"Perl",
@@ -773,9 +802,12 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "043",
+ "name" : "043"
},
{
+ "id" : "044",
"data" : [
[
"Perl",
@@ -790,10 +822,10 @@
11
]
],
- "id" : "044",
"name" : "044"
},
{
+ "id" : "045",
"data" : [
[
"Perl",
@@ -808,10 +840,10 @@
11
]
],
- "id" : "045",
"name" : "045"
},