diff options
| -rw-r--r-- | challenge-047/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/ch-1.p6 | 19 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/ch-2.p6 | 5 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/gapful-gather | 11 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/gapful-gather-sub | 18 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/gapful-grep | 5 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/oo-test | 21 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/roman-calculator-given | 19 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/roman-calculator-given-turbo | 19 | ||||
| -rwxr-xr-x | challenge-047/arne-sommer/raku/roman-calculator-multi | 30 | ||||
| -rw-r--r-- | stats/pwc-current.json | 143 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 86 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 320 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 372 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 106 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 358 |
20 files changed, 996 insertions, 829 deletions
diff --git a/challenge-047/arne-sommer/blog.txt b/challenge-047/arne-sommer/blog.txt new file mode 100644 index 0000000000..5d1f0c385f --- /dev/null +++ b/challenge-047/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/roman-gap.html diff --git a/challenge-047/arne-sommer/raku/ch-1.p6 b/challenge-047/arne-sommer/raku/ch-1.p6 new file mode 100755 index 0000000000..3d3b3bea1b --- /dev/null +++ b/challenge-047/arne-sommer/raku/ch-1.p6 @@ -0,0 +1,19 @@ +#! /usr/bin/env raku + +use lib "lib"; + +use Number::Roman :to, :from; + +unit sub MAIN (Str $first, Str $operator, Str $second); + +my $f = from-roman($first); +my $s = from-roman($second); + +given $operator +{ + when '+' { say to-roman($f + $s) }; + when '-' { say to-roman($f - $s) }; + when 'x' { say to-roman($f * $s) }; + when '*' { say to-roman($f * $s) }; + when '/' { say to-roman(Int($f) / Int($s)) }; +} diff --git a/challenge-047/arne-sommer/raku/ch-2.p6 b/challenge-047/arne-sommer/raku/ch-2.p6 new file mode 100755 index 0000000000..9baeef3d5a --- /dev/null +++ b/challenge-047/arne-sommer/raku/ch-2.p6 @@ -0,0 +1,5 @@ +#! /usr/bin/env raku + +my $gapful := (100 .. *).grep( { $_ %% ( .substr(0,1) ~ .substr(*-1,1) ) }); + +say "First 20 Gapful numbers: { $gapful[^20].join(',') }."; diff --git a/challenge-047/arne-sommer/raku/gapful-gather b/challenge-047/arne-sommer/raku/gapful-gather new file mode 100755 index 0000000000..07918530f7 --- /dev/null +++ b/challenge-047/arne-sommer/raku/gapful-gather @@ -0,0 +1,11 @@ +#! /usr/bin/env raku + +my $gapful := gather +{ + for 100 .. * + { + take $_ if $_ %% ( .substr(0,1) ~ .substr(*-1,1) ); + } +} + +say "First 20 Gapful numbers: { $gapful[^20].join(',') }."; diff --git a/challenge-047/arne-sommer/raku/gapful-gather-sub b/challenge-047/arne-sommer/raku/gapful-gather-sub new file mode 100755 index 0000000000..48f1c0c959 --- /dev/null +++ b/challenge-047/arne-sommer/raku/gapful-gather-sub @@ -0,0 +1,18 @@ +#! /usr/bin/env raku + +my $gapful := gather +{ + for 100 .. * + { + take $_ if is-gapful($_); + } +} + +say "First 20 Gapful numbers: { $gapful[^20].join(',') }."; + +sub is-gapful (Int $number) +{ + my $divisor = $number.substr(0,1) ~ $number.substr(*-1,1); + + return $number %% $divisor; +}
\ No newline at end of file diff --git a/challenge-047/arne-sommer/raku/gapful-grep b/challenge-047/arne-sommer/raku/gapful-grep new file mode 100755 index 0000000000..9baeef3d5a --- /dev/null +++ b/challenge-047/arne-sommer/raku/gapful-grep @@ -0,0 +1,5 @@ +#! /usr/bin/env raku + +my $gapful := (100 .. *).grep( { $_ %% ( .substr(0,1) ~ .substr(*-1,1) ) }); + +say "First 20 Gapful numbers: { $gapful[^20].join(',') }."; diff --git a/challenge-047/arne-sommer/raku/oo-test b/challenge-047/arne-sommer/raku/oo-test new file mode 100755 index 0000000000..5bc0b4100c --- /dev/null +++ b/challenge-047/arne-sommer/raku/oo-test @@ -0,0 +1,21 @@ +#! /usr/bin/env raku + +use lib "lib"; + +use Number::Roman::OO; + +my $a = Number::Roman::OO.new(12); +my $b = Number::Roman::OO.new("MCM"); + +say "{ $a.Str } => { $a.Int }"; +say "{ $b.Str } => { $b.Int }"; + +my $c = $a.add($b); say "{ $c.Str } => { $c.Int }"; +my $d = $c.add(27); say "{ $d.Str } => { $d.Int }"; + +my $e = $c + $d; say "{ $e.Str } => { $e.Int }"; +my $f = $d + 999; say "{ $f.Str } => { $f.Int }"; + +say "Something" if $a < $b; + +say $a;
\ No newline at end of file diff --git a/challenge-047/arne-sommer/raku/roman-calculator-given b/challenge-047/arne-sommer/raku/roman-calculator-given new file mode 100755 index 0000000000..3d3b3bea1b --- /dev/null +++ b/challenge-047/arne-sommer/raku/roman-calculator-given @@ -0,0 +1,19 @@ +#! /usr/bin/env raku + +use lib "lib"; + +use Number::Roman :to, :from; + +unit sub MAIN (Str $first, Str $operator, Str $second); + +my $f = from-roman($first); +my $s = from-roman($second); + +given $operator +{ + when '+' { say to-roman($f + $s) }; + when '-' { say to-roman($f - $s) }; + when 'x' { say to-roman($f * $s) }; + when '*' { say to-roman($f * $s) }; + when '/' { say to-roman(Int($f) / Int($s)) }; +} diff --git a/challenge-047/arne-sommer/raku/roman-calculator-given-turbo b/challenge-047/arne-sommer/raku/roman-calculator-given-turbo new file mode 100755 index 0000000000..62ab570c7c --- /dev/null +++ b/challenge-047/arne-sommer/raku/roman-calculator-given-turbo @@ -0,0 +1,19 @@ +#! /usr/bin/env raku + +use lib "lib"; + +use Number::Roman; + +unit sub MAIN (Str $first, Str $operator, Str $second); + +my Int $f = $first.from-roman; +my Int $s = $second.from-roman; + +given $operator +{ + when '+' { say ($f + $s).roman }; + when '-' { say ($f - $s).roman }; + when 'x' { say ($f * $s).roman }; + when '*' { say ($f * $s).roman }; + when '/' { say (Int($f) / Int($s)).roman }; +} diff --git a/challenge-047/arne-sommer/raku/roman-calculator-multi b/challenge-047/arne-sommer/raku/roman-calculator-multi new file mode 100755 index 0000000000..a4bff264b1 --- /dev/null +++ b/challenge-047/arne-sommer/raku/roman-calculator-multi @@ -0,0 +1,30 @@ +#! /usr/bin/env raku + +use lib "lib"; + +use Number::Roman :to, :from; + +multi MAIN (Str $first, "+", Str $second) +{ + say to-roman( from-roman($first) + from-roman($second) ); +} + +multi MAIN (Str $first, "-", Str $second) +{ + say to-roman( from-roman($first) - from-roman($second) ); +} + +multi MAIN (Str $first, '*', Str $second) +{ + say to-roman( from-roman($first) * from-roman($second) ); +} + +multi MAIN (Str $first, 'x', Str $second) +{ + say to-roman( from-roman($first) * from-roman($second) ); +} + +multi MAIN (Str $first, "/", Str $second) +{ + say to-roman(Int( from-roman($first) / from-roman($second)) ); +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 669f7f6761..20a28bc159 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,27 +1,47 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "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/>" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 } }, + "title" : { + "text" : "Perl Weekly Challenge - 047" + }, "chart" : { "type" : "column" }, "legend" : { "enabled" : 0 }, + "xAxis" : { + "type" : "category" + }, "series" : [ { "data" : [ { - "name" : "Andrezgz", "y" : 2, + "name" : "Andrezgz", "drilldown" : "Andrezgz" }, { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "Dave Cross", "name" : "Dave Cross", - "y" : 2, - "drilldown" : "Dave Cross" + "y" : 2 }, { "y" : 3, @@ -34,29 +54,29 @@ "drilldown" : "Duane Powell" }, { - "y" : 2, "name" : "E. Choroba", + "y" : 2, "drilldown" : "E. Choroba" }, { "drilldown" : "Javier Luque", - "y" : 5, - "name" : "Javier Luque" + "name" : "Javier Luque", + "y" : 5 }, { - "drilldown" : "Luca Ferrari", + "y" : 4, "name" : "Luca Ferrari", - "y" : 4 + "drilldown" : "Luca Ferrari" }, { - "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", "y" : 2, - "name" : "Mark Anderson" + "drilldown" : "Mark Anderson" }, { - "drilldown" : "Markus Holzer", + "name" : "Markus Holzer", "y" : 2, - "name" : "Markus Holzer" + "drilldown" : "Markus Holzer" }, { "drilldown" : "Mohammad S Anwar", @@ -64,38 +84,30 @@ "name" : "Mohammad S Anwar" }, { + "drilldown" : "Saif Ahmed", "name" : "Saif Ahmed", - "y" : 2, - "drilldown" : "Saif Ahmed" + "y" : 2 }, { + "drilldown" : "Simon Proctor", "y" : 2, - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor" + "name" : "Simon Proctor" }, { - "y" : 1, + "drilldown" : "Steven Wilson", "name" : "Steven Wilson", - "drilldown" : "Steven Wilson" + "y" : 1 } ], "colorByPoint" : 1, "name" : "Perl Weekly Challenge - 047" } ], - "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 - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { - "id" : "Andrezgz", "name" : "Andrezgz", + "id" : "Andrezgz", "data" : [ [ "Perl", @@ -104,8 +116,22 @@ ] }, { - "id" : "Dave Cross", + "name" : "Arne Sommer", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Arne Sommer" + }, + { "name" : "Dave Cross", + "id" : "Dave Cross", "data" : [ [ "Perl", @@ -128,28 +154,26 @@ "id" : "Dave Jacoby" }, { - "name" : "Duane Powell", + "id" : "Duane Powell", "data" : [ [ "Perl", 2 ] ], - "id" : "Duane Powell" + "name" : "Duane Powell" }, { + "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba" + ] }, { - "id" : "Javier Luque", - "name" : "Javier Luque", "data" : [ [ "Perl", @@ -163,9 +187,12 @@ "Blog", 1 ] - ] + ], + "id" : "Javier Luque", + "name" : "Javier Luque" }, { + "name" : "Luca Ferrari", "id" : "Luca Ferrari", "data" : [ [ @@ -176,8 +203,7 @@ "Blog", 2 ] - ], - "name" : "Luca Ferrari" + ] }, { "name" : "Mark Anderson", @@ -190,70 +216,63 @@ "id" : "Mark Anderson" }, { - "id" : "Markus Holzer", + "name" : "Markus Holzer", "data" : [ [ "Raku", 2 ] ], - "name" : "Markus Holzer" + "id" : "Markus Holzer" }, { "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", 1 ] - ], - "id" : "Mohammad S Anwar" + ] }, { - "name" : "Saif Ahmed", "data" : [ [ "Perl", 2 ] ], - "id" : "Saif Ahmed" + "id" : "Saif Ahmed", + "name" : "Saif Ahmed" }, { - "id" : "Simon Proctor", "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Simon Proctor" }, { + "id" : "Steven Wilson", "data" : [ [ "Perl", 1 ] ], - "name" : "Steven Wilson", - "id" : "Steven Wilson" + "name" : "Steven Wilson" } ] }, - "subtitle" : { - "text" : "[Champions: 13] Last updated at 2020-02-13 14:06:08 GMT" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } + "yAxis" : { + "title" : { + "text" : "Total Solutions" } }, - "title" : { - "text" : "Perl Weekly Challenge - 047" + "subtitle" : { + "text" : "[Champions: 14] Last updated at 2020-02-16 01:35:45 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 41f4d8a43f..b5f4a71f6c 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,14 +1,53 @@ { + "xAxis" : { + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + }, + "type" : "category" + }, + "legend" : { + "enabled" : "false" + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, + "subtitle" : { + "text" : "Last updated at 2020-02-16 01:35:45 GMT" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, "series" : [ { + "dataLabels" : { + "align" : "right", + "format" : "{point.y:.0f}", + "color" : "#FFFFFF", + "enabled" : "true", + "y" : 10, + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "rotation" : -90 + }, "name" : "Contributions", "data" : [ [ "Blog", - 499 + 500 ], [ "Perl", @@ -16,48 +55,9 @@ ], [ "Raku", - 1170 + 1172 ] - ], - "dataLabels" : { - "enabled" : "true", - "rotation" : -90, - "format" : "{point.y:.0f}", - "y" : 10, - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "align" : "right", - "color" : "#FFFFFF" - } + ] } - ], - "legend" : { - "enabled" : "false" - }, - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - } - }, - "subtitle" : { - "text" : "Last updated at 2020-02-13 14:06:08 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index e32ae19439..a53171c207 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,31 +1,13 @@ { - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-13 14:06:08 GMT" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "tooltip" : { - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "followPointer" : "true", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" - }, "series" : [ { + "name" : "Perl Weekly Challenge Languages", + "colorByPoint" : "true", "data" : [ { "drilldown" : "001", - "y" : 140, - "name" : "#001" + "name" : "#001", + "y" : 140 }, { "name" : "#002", @@ -34,13 +16,13 @@ }, { "drilldown" : "003", - "y" : 71, - "name" : "#003" + "name" : "#003", + "y" : 71 }, { + "drilldown" : "004", "name" : "#004", - "y" : 91, - "drilldown" : "004" + "y" : 91 }, { "y" : 71, @@ -48,14 +30,14 @@ "drilldown" : "005" }, { - "name" : "#006", "y" : 48, + "name" : "#006", "drilldown" : "006" }, { - "name" : "#007", + "drilldown" : "007", "y" : 56, - "drilldown" : "007" + "name" : "#007" }, { "drilldown" : "008", @@ -69,23 +51,23 @@ }, { "drilldown" : "010", - "name" : "#010", - "y" : 60 + "y" : 60, + "name" : "#010" }, { "drilldown" : "011", - "name" : "#011", - "y" : 79 + "y" : 79, + "name" : "#011" }, { - "name" : "#012", + "drilldown" : "012", "y" : 83, - "drilldown" : "012" + "name" : "#012" }, { - "drilldown" : "013", "y" : 76, - "name" : "#013" + "name" : "#013", + "drilldown" : "013" }, { "name" : "#014", @@ -93,33 +75,33 @@ "drilldown" : "014" }, { + "drilldown" : "015", "name" : "#015", - "y" : 93, - "drilldown" : "015" + "y" : 93 }, { - "drilldown" : "016", "name" : "#016", - "y" : 66 + "y" : 66, + "drilldown" : "016" }, { + "drilldown" : "017", "y" : 79, - "name" : "#017", - "drilldown" : "017" + "name" : "#017" }, { - "y" : 76, "name" : "#018", + "y" : 76, "drilldown" : "018" }, { - "name" : "#019", + "drilldown" : "019", "y" : 95, - "drilldown" : "019" + "name" : "#019" }, { - "name" : "#020", "y" : 95, + "name" : "#020", "drilldown" : "020" }, { @@ -133,13 +115,13 @@ "drilldown" : "022" }, { - "y" : 91, "name" : "#023", + "y" : 91, "drilldown" : "023" }, { - "name" : "#024", "y" : 70, + "name" : "#024", "drilldown" : "024" }, { @@ -148,29 +130,29 @@ "name" : "#025" }, { - "drilldown" : "026", "y" : 70, - "name" : "#026" + "name" : "#026", + "drilldown" : "026" }, { + "drilldown" : "027", "y" : 58, - "name" : "#027", - "drilldown" : "027" + "name" : "#027" }, { "drilldown" : "028", - "name" : "#028", - "y" : 78 + "y" : 78, + "name" : "#028" }, { - "y" : 77, + "drilldown" : "029", "name" : "#029", - "drilldown" : "029" + "y" : 77 }, { - "name" : "#030", + "drilldown" : "030", "y" : 115, - "drilldown" : "030" + "name" : "#030" }, { "name" : "#031", @@ -183,63 +165,63 @@ "drilldown" : "032" }, { - "name" : "#033", "y" : 108, + "name" : "#033", "drilldown" : "033" }, { + "drilldown" : "034", "name" : "#034", - "y" : 60, - "drilldown" : "034" + "y" : 60 }, { - "drilldown" : "035", "y" : 60, - "name" : "#035" + "name" : "#035", + "drilldown" : "035" }, { - "y" : 61, "name" : "#036", + "y" : 61, "drilldown" : "036" }, { "drilldown" : "037", - "y" : 63, - "name" : "#037" + "name" : "#037", + "y" : 63 }, { - "drilldown" : "038", + "name" : "#038", "y" : 60, - "name" : "#038" + "drilldown" : "038" }, { - "name" : "#039", + "drilldown" : "039", "y" : 60, - "drilldown" : "039" + "name" : "#039" }, { - "y" : 66, + "drilldown" : "040", "name" : "#040", - "drilldown" : "040" + "y" : 66 }, { - "drilldown" : "041", + "y" : 69, "name" : "#041", - "y" : 69 + "drilldown" : "041" }, { "drilldown" : "042", - "y" : 88, - "name" : "#042" + "name" : "#042", + "y" : 88 }, { - "drilldown" : "043", "name" : "#043", - "y" : 65 + "y" : 65, + "drilldown" : "043" }, { - "name" : "#044", "y" : 76, + "name" : "#044", "drilldown" : "044" }, { @@ -248,36 +230,31 @@ "name" : "#045" }, { + "drilldown" : "046", "y" : 82, - "name" : "#046", - "drilldown" : "046" + "name" : "#046" }, { "name" : "#047", - "y" : 30, + "y" : 33, "drilldown" : "047" } - ], - "colorByPoint" : "true", - "name" : "Perl Weekly Challenge Languages" + ] } ], - "chart" : { - "type" : "column" + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-02-16 01:35:45 GMT" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "legend" : { - "enabled" : "false" - }, "drilldown" : { "series" : [ { - "id" : "001", "name" : "001", + "id" : "001", "data" : [ [ "Perl", @@ -294,7 +271,7 @@ ] }, { - "id" : "002", + "name" : "002", "data" : [ [ "Perl", @@ -309,7 +286,7 @@ 10 ] ], - "name" : "002" + "id" : "002" }, { "name" : "003", @@ -330,8 +307,8 @@ "id" : "003" }, { - "id" : "004", "name" : "004", + "id" : "004", "data" : [ [ "Perl", @@ -348,7 +325,7 @@ ] }, { - "id" : "005", + "name" : "005", "data" : [ [ "Perl", @@ -363,9 +340,10 @@ 12 ] ], - "name" : "005" + "id" : "005" }, { + "name" : "006", "id" : "006", "data" : [ [ @@ -380,10 +358,10 @@ "Blog", 7 ] - ], - "name" : "006" + ] }, { + "name" : "007", "id" : "007", "data" : [ [ @@ -398,12 +376,10 @@ "Blog", 10 ] - ], - "name" : "007" + ] }, { "id" : "008", - "name" : "008", "data" : [ [ "Perl", @@ -417,10 +393,10 @@ "Blog", 12 ] - ] + ], + "name" : "008" }, { - "name" : "009", "data" : [ [ "Perl", @@ -435,10 +411,12 @@ |
