diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-15 00:01:52 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-08-15 00:01:52 +0100 |
| commit | 34f2cfddb2425c2c444ee69a121139127c219ece (patch) | |
| tree | ff6928d1532e655d5ae732b17b0ba67fd99342fe | |
| parent | 5630d4ba0b2fdd9762cbceb0f276811a5e4f469f (diff) | |
| download | perlweeklychallenge-club-34f2cfddb2425c2c444ee69a121139127c219ece.tar.gz perlweeklychallenge-club-34f2cfddb2425c2c444ee69a121139127c219ece.tar.bz2 perlweeklychallenge-club-34f2cfddb2425c2c444ee69a121139127c219ece.zip | |
- Added solutions by Arne Sommer.
23 files changed, 1745 insertions, 1555 deletions
diff --git a/challenge-073/arne-sommer/blog.txt b/challenge-073/arne-sommer/blog.txt new file mode 100644 index 0000000000..20cc755a48 --- /dev/null +++ b/challenge-073/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/sliding-neighbour.html diff --git a/challenge-073/arne-sommer/perl/ch-1.pl b/challenge-073/arne-sommer/perl/ch-1.pl new file mode 100755 index 0000000000..9e43f35bb2 --- /dev/null +++ b/challenge-073/arne-sommer/perl/ch-1.pl @@ -0,0 +1,25 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use Getopt::Long; +use List::Util 'min'; +use Perl6::Junction 'all'; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +die 'Specify $S and @A' unless @ARGV; + +my ($S, @A) = @ARGV; + +die '$S must be an integer >= 1' unless int($S) == $S && $S >= 1; +die '@A must contain integers only' unless all(@A) == qr/^\d+$/; + +map { say ": (" . join(", ", @A[$_ .. $_ + $S -1]) . ") min -> " . min @A[$_ .. $_ + $S -1] } +(0 .. @A - $S) if $verbose; + +say "(", + join (", ", map { min @A[$_ .. $_ + $S -1] } (0 .. @A - $S)), + ")"; diff --git a/challenge-073/arne-sommer/perl/ch-2.pl b/challenge-073/arne-sommer/perl/ch-2.pl new file mode 100755 index 0000000000..8043a49e6b --- /dev/null +++ b/challenge-073/arne-sommer/perl/ch-2.pl @@ -0,0 +1,29 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use Getopt::Long; +use List::Util 'min'; +use Perl6::Junction 'all'; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +die 'Specify @A' unless @ARGV; + +my (@A) = @ARGV; + +die '@A must contain integers only' unless all(@A) == qr/^\d+$/; + +if ($verbose) +{ + say ": index 0 (" . $A[0] . ") -> () -> 0"; + map { say ": index $_ ($A[$_]) -> (" . join(", ", @A[0 .. $_ -1]) . ") -> " . + (min @A[0 .. $_ -1] < $A[$_] ? min @A[0 .. $_ -1] : 0 ) } (1 .. @A -1); +} + +say "(0, ", + join (", ", + map { my $c = min @A[0 .. $_ -1]; $c < $A[$_] ? $c : 0 } (1 .. @A -1)), + ")"; diff --git a/challenge-073/arne-sommer/perl/min-sliding-window-perl b/challenge-073/arne-sommer/perl/min-sliding-window-perl new file mode 100755 index 0000000000..9e43f35bb2 --- /dev/null +++ b/challenge-073/arne-sommer/perl/min-sliding-window-perl @@ -0,0 +1,25 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use Getopt::Long; +use List::Util 'min'; +use Perl6::Junction 'all'; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +die 'Specify $S and @A' unless @ARGV; + +my ($S, @A) = @ARGV; + +die '$S must be an integer >= 1' unless int($S) == $S && $S >= 1; +die '@A must contain integers only' unless all(@A) == qr/^\d+$/; + +map { say ": (" . join(", ", @A[$_ .. $_ + $S -1]) . ") min -> " . min @A[$_ .. $_ + $S -1] } +(0 .. @A - $S) if $verbose; + +say "(", + join (", ", map { min @A[$_ .. $_ + $S -1] } (0 .. @A - $S)), + ")"; diff --git a/challenge-073/arne-sommer/perl/smallest-neighbour-perl b/challenge-073/arne-sommer/perl/smallest-neighbour-perl new file mode 100755 index 0000000000..8043a49e6b --- /dev/null +++ b/challenge-073/arne-sommer/perl/smallest-neighbour-perl @@ -0,0 +1,29 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; +use Getopt::Long; +use List::Util 'min'; +use Perl6::Junction 'all'; + +my $verbose = 0; + +GetOptions("verbose" => \$verbose); + +die 'Specify @A' unless @ARGV; + +my (@A) = @ARGV; + +die '@A must contain integers only' unless all(@A) == qr/^\d+$/; + +if ($verbose) +{ + say ": index 0 (" . $A[0] . ") -> () -> 0"; + map { say ": index $_ ($A[$_]) -> (" . join(", ", @A[0 .. $_ -1]) . ") -> " . + (min @A[0 .. $_ -1] < $A[$_] ? min @A[0 .. $_ -1] : 0 ) } (1 .. @A -1); +} + +say "(0, ", + join (", ", + map { my $c = min @A[0 .. $_ -1]; $c < $A[$_] ? $c : 0 } (1 .. @A -1)), + ")"; diff --git a/challenge-073/arne-sommer/raku/ch-1.raku b/challenge-073/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..711f6fa1b2 --- /dev/null +++ b/challenge-073/arne-sommer/raku/ch-1.raku @@ -0,0 +1,9 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $S where * >= 1, *@A, :v(:$verbose)); + +die "Integers only" unless all(@A) ~~ Int; + +(0 .. @A.elems - $S).map({ say ": (" ~ @A[$_ .. $_ + $S -1].join(", ") ~ ") min -> " ~ @A[$_ .. $_ + $S -1].min }) if $verbose; + +say "(", (0 .. @A.elems - $S).map({ @A[$_ .. $_ + $S -1].min }).join(", "), ")";
\ No newline at end of file diff --git a/challenge-073/arne-sommer/raku/ch-2.raku b/challenge-073/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..c0b349f180 --- /dev/null +++ b/challenge-073/arne-sommer/raku/ch-2.raku @@ -0,0 +1,12 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@A where @A.elems > 0 && all(@A) ~~ Int, :v(:$verbose)); + +if $verbose +{ + say ": index 0 (@A[0]) -> () -> 0"; + (1 .. @A.end).map({ say ": index $_ (@A[$_]) -> (" ~ @A[0 .. $_ -1].join(", ") ~ ") -> " + ~ (@A[0 .. $_ -1].min < @A[$_] ?? @A[0 .. $_ -1].min !! 0 ) }) +} + +say "(0, ", (1 .. @A.end).map({ my $c = @A[0 .. $_ -1].min; $c < @A[$_] ?? $c !! 0 }).join(", "), ")"; diff --git a/challenge-073/arne-sommer/raku/min-sliding-window b/challenge-073/arne-sommer/raku/min-sliding-window new file mode 100755 index 0000000000..711f6fa1b2 --- /dev/null +++ b/challenge-073/arne-sommer/raku/min-sliding-window @@ -0,0 +1,9 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $S where * >= 1, *@A, :v(:$verbose)); + +die "Integers only" unless all(@A) ~~ Int; + +(0 .. @A.elems - $S).map({ say ": (" ~ @A[$_ .. $_ + $S -1].join(", ") ~ ") min -> " ~ @A[$_ .. $_ + $S -1].min }) if $verbose; + +say "(", (0 .. @A.elems - $S).map({ @A[$_ .. $_ + $S -1].min }).join(", "), ")";
\ No newline at end of file diff --git a/challenge-073/arne-sommer/raku/min-sliding-window-plain b/challenge-073/arne-sommer/raku/min-sliding-window-plain new file mode 100755 index 0000000000..7b3cb8d005 --- /dev/null +++ b/challenge-073/arne-sommer/raku/min-sliding-window-plain @@ -0,0 +1,5 @@ +#! /usr/bin/env raku + +unit sub MAIN (Int $S where * >= 1, *@A); + +say "(", (0 .. @A.elems - $S).map({ @A[$_ .. $_ + $S -1].min }).join(", "), ")"; diff --git a/challenge-073/arne-sommer/raku/smallest-neighbour b/challenge-073/arne-sommer/raku/smallest-neighbour new file mode 100755 index 0000000000..c0b349f180 --- /dev/null +++ b/challenge-073/arne-sommer/raku/smallest-neighbour @@ -0,0 +1,12 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@A where @A.elems > 0 && all(@A) ~~ Int, :v(:$verbose)); + +if $verbose +{ + say ": index 0 (@A[0]) -> () -> 0"; + (1 .. @A.end).map({ say ": index $_ (@A[$_]) -> (" ~ @A[0 .. $_ -1].join(", ") ~ ") -> " + ~ (@A[0 .. $_ -1].min < @A[$_] ?? @A[0 .. $_ -1].min !! 0 ) }) +} + +say "(0, ", (1 .. @A.end).map({ my $c = @A[0 .. $_ -1].min; $c < @A[$_] ?? $c !! 0 }).join(", "), ")"; diff --git a/challenge-073/arne-sommer/raku/smallest-neighbour-first b/challenge-073/arne-sommer/raku/smallest-neighbour-first new file mode 100755 index 0000000000..822e9a1ef5 --- /dev/null +++ b/challenge-073/arne-sommer/raku/smallest-neighbour-first @@ -0,0 +1,11 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@A where @A.elems > 0 && all(@A) ~~ Int, :v(:$verbose)); + +if $verbose +{ + say "index 0 -> () -> 0"; + (1 .. @A.end).map({ say ": index $_ -> (" ~ @A[0 .. $_ -1].join(", ") ~ ") -> " ~ @A[0 .. $_ -1].min }); +} + +say "(0, ", (1 .. @A.end).map({ @A[0 .. $_ -1].min }).join(", "), ")";
\ No newline at end of file diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 310eaa08e5..522e959023 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,140 +1,35 @@ { - "series" : [ - { - "data" : [ - { - "name" : "Andrew Shitov", - "y" : 3, - "drilldown" : "Andrew Shitov" - }, - { - "drilldown" : "Athanasius", - "name" : "Athanasius", - "y" : 4 - }, - { - "drilldown" : "Ben Davies", - "y" : 2, - "name" : "Ben Davies" - }, - { - "drilldown" : "Colin Crain", - "y" : 5, - "name" : "Colin Crain" - }, - { - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby", - "y" : 2 - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "y" : 2, - "name" : "Jan Krnavek", - "drilldown" : "Jan Krnavek" - }, - { - "drilldown" : "Jason Messer", - "y" : 2, - "name" : "Jason Messer" - }, - { - "y" : 5, - "name" : "Javier Luque", - "drilldown" : "Javier Luque" - }, - { - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 2 - }, - { - "name" : "Laurent Rosenfeld", - "y" : 5, - "drilldown" : "Laurent Rosenfeld" - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "drilldown" : "Markus Holzer", - "name" : "Markus Holzer", - "y" : 2 - }, - { - "y" : 5, - "name" : "Mohammad S Anwar", - "drilldown" : "Mohammad S Anwar" - }, - { - "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" - }, - { - "name" : "Pavel Kuptsov", - "y" : 2, - "drilldown" : "Pavel Kuptsov" - }, - { - "drilldown" : "Pete Houston", - "name" : "Pete Houston", - "y" : 2 - }, - { - "drilldown" : "Roger Bell_West", - "y" : 4, - "name" : "Roger Bell_West" - }, - { - "y" : 2, - "name" : "Shawn Wagner", - "drilldown" : "Shawn Wagner" - }, - { - "drilldown" : "Simon Proctor", - "name" : "Simon Proctor", - "y" : 2 - }, - { - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke", - "y" : 4 - }, - { - "drilldown" : "Wanderdoc", - "y" : 2, - "name" : "Wanderdoc" - } - ], - "name" : "Perl Weekly Challenge - 073", - "colorByPoint" : 1 - } - ], - "title" : { - "text" : "Perl Weekly Challenge - 073" - }, - "subtitle" : { - "text" : "[Champions: 22] Last updated at 2020-08-14 22:51:09 GMT" - }, "tooltip" : { - "followPointer" : 1, "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : 1, "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" }, + "subtitle" : { + "text" : "[Champions: 23] Last updated at 2020-08-14 23:01:43 GMT" + }, "drilldown" : { "series" : [ { - "name" : "Andrew Shitov", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], "id" : "Andrew Shitov", + "name" : "Andrew Shitov" + }, + { "data" : [ [ + "Perl", + 2 + ], + [ "Raku", 2 ], @@ -142,10 +37,13 @@ "Blog", 1 ] - ] + ], + "id" : "Arne Sommer", + "name" : "Arne Sommer" }, { "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -155,20 +53,21 @@ "Raku", 2 ] - ], - "id" : "Athanasius" + ] }, { - "id" : "Ben Davies", "data" : [ [ "Raku", 2 ] ], + "id" : "Ben Davies", "name" : "Ben Davies" }, { + "id" : "Colin Crain", + "name" : "Colin Crain", "data" : [ [ "Perl", @@ -182,9 +81,7 @@ "Blog", 1 ] - ], - "id" : "Colin Crain", - "name" : "Colin Crain" + ] }, { "data" : [ @@ -193,40 +90,42 @@ 2 ] ], - "id" : "Dave Jacoby", - "name" : "Dave Jacoby" + "name" : "Dave Jacoby", + "id" : "Dave Jacoby" }, { "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba" + ] }, { - "name" : "Jan Krnavek", - "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Jan Krnavek", + "name" : "Jan Krnavek" }, { + "name" : "Jason Messer", "id" : "Jason Messer", "data" : [ [ "Raku", 2 ] - ], - "name" : "Jason Messer" + ] }, { + "id" : "Javier Luque", + "name" : "Javier Luque", "data" : [ [ "Perl", @@ -240,22 +139,19 @@ "Blog", 1 ] - ], - "id" : "Javier Luque", - "name" : "Javier Luque" + ] }, { "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ], - "id" : "Jorg Sommrey" + ] }, { - "name" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -270,31 +166,32 @@ 1 ] ], - "id" : "Laurent Rosenfeld" + "id" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" }, { "name" : "Mark Anderson", + "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ], - "id" : "Mark Anderson" + ] }, { + "name" : "Markus Holzer", + "id" : "Markus Holzer", "data" : [ [ "Raku", 2 ] - ], - "id" : "Markus Holzer", - "name" : "Markus Holzer" + ] }, { - "name" : "Mohammad S Anwar", "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -311,37 +208,36 @@ ] }, { - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke" + "name" : "Niels van Dijke", + "id" : "Niels van Dijke" }, { - "name" : "Pavel Kuptsov", "data" : [ [ "Perl", 2 ] ], - "id" : "Pavel Kuptsov" + "id" : "Pavel Kuptsov", + "name" : "Pavel Kuptsov" }, { - "name" : "Pete Houston", "data" : [ [ "Perl", 2 ] ], - "id" : "Pete Houston" + "id" : "Pete Houston", + "name" : "Pete Houston" }, { - "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -352,29 +248,31 @@ 2 ] ], - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { - "name" : "Shawn Wagner", - "id" : "Shawn Wagner", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Shawn Wagner", + "id" : "Shawn Wagner" }, { - "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "id" : "Simon Proctor" + "id" : "Simon Proctor", + "name" : "Simon Proctor" }, { + "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", "data" : [ [ @@ -385,8 +283,7 @@ "Raku", 2 ] - ], - "name" : "Ulrich Rieke" + ] }, { "data" : [ @@ -395,14 +292,11 @@ 2 ] ], - "id" : "Wanderdoc", - "name" : "Wanderdoc" + "name" : "Wanderdoc", + "id" : "Wanderdoc" } ] }, - "chart" : { - "type" : "column" - }, "plotOptions" : { "series" : { "dataLabels" : { @@ -412,15 +306,144 @@ "borderWidth" : 0 } }, + "legend" : { + "enabled" : 0 + }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "legend" : { - "enabled" : 0 + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "drilldown" : "Andrew Shitov", + "y" : 3, + "name" : "Andrew Shitov" + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 5 + }, + { + "drilldown" : "Athanasius", + "name" : "Athanasius", + "y" : 4 + }, + { + "y" : 2, + "name" : "Ben Davies", + "drilldown" : "Ben Davies" + }, + { + "y" : 5, + "name" : "Colin Crain", + "drilldown" : "Colin Crain" + }, + { + "y" : 2, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "drilldown" : "E. Choroba", + "y" : 2, + "name" : "E. Choroba" + }, + { + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 2 + }, + { + "drilldown" : "Jason Messer", + "name" : "Jason Messer", + "y" : 2 + }, + { + "name" : "Javier Luque", + "y" : 5, + "drilldown" : "Javier Luque" + }, + { + "name" : "Jorg Sommrey", + "y" : 2, + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 5 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", + "y" : 2 + }, + { + "drilldown" : "Mohammad S Anwar", + "y" : 5, + "name" : "Mohammad S Anwar" + }, + { + "name" : "Niels van Dijke", + "y" : 2, + "drilldown" : "Niels van Dijke" + }, + { + "drilldown" : "Pavel Kuptsov", + "y" : 2, + "name" : "Pavel Kuptsov" + }, + { + "name" : "Pete Houston", + "y" : 2, + "drilldown" : "Pete Houston" + }, + { + "y" : 4, + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West" + }, + { + "drilldown" : "Shawn Wagner", + "name" : "Shawn Wagner", + "y" : 2 + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "name" : "Wanderdoc", + "y" : 2, + "drilldown" : "Wanderdoc" + } + ], + "name" : "Perl Weekly Challenge - 073" + } + ], + "title" : { + "text" : "Perl Weekly Challenge - 073" }, "xAxis" : { "type" : "category" + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 95915721db..8b552faf82 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,12 +1,9 @@ { - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } + "subtitle" : { + "text" : "Last updated at 2020-08-14 23:01:43 GMT" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" }, "legend" : { "enabled" : "false" @@ -17,47 +14,50 @@ "text" : null } }, - "chart" : { - "type" : "column" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "subtitle" : { - "text" : "Last updated at 2020-08-14 22:51:09 GMT" - }, "series" : [ { - "dataLabels" : { - "format" : "{point.y:.0f}", - "rotation" : -90, - "color" : "#FFFFFF", - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "y" : 10, - "align" : "right", - "enabled" : "true" - }, "data" : [ [ "Blog", - 877 + 878 ], [ "Perl", - 3019 + 3021 ], [ "Raku", - 1969 + 1971 ] ], - "name" : "Contributions" + "name" : "Contributions", + "dataLabels" : { + "y" : 10, + "align" : "right", + "enabled" : "true", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "rotation" : -90, + "color" : "#FFFFFF", + "format" : "{point.y:.0f}" + } } - ] + ], + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, + "chart" : { + "type" : "column" + } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 8b3c61896c..532cf4daf4 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,387 +1,9 @@ { - "series" : [ - { - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages", - "data" : [ - { - "drilldown" : "001", - "name" : "#001", - "y" : 142 - }, - { - "drilldown" : "002", - "y" : 109, - "name" : "#002" - }, - { - "drilldown" : "003", - "y" : 71, - "name" : "#003" - }, - { - "drilldown" : "004", - "y" : 91, - "name" : "#004" - }, - { |
