aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-032/kevin-colyer/perl6/ch-1.p632
-rw-r--r--challenge-032/kevin-colyer/perl6/ch-2.p641
-rw-r--r--stats/pwc-current.json201
-rw-r--r--stats/pwc-language-breakdown-summary.json42
-rw-r--r--stats/pwc-language-breakdown.json276
-rw-r--r--stats/pwc-leaders.json576
-rw-r--r--stats/pwc-summary-1-30.json44
-rw-r--r--stats/pwc-summary-121-150.json82
-rw-r--r--stats/pwc-summary-31-60.json106
-rw-r--r--stats/pwc-summary-61-90.json96
-rw-r--r--stats/pwc-summary-91-120.json118
-rw-r--r--stats/pwc-summary.json294
12 files changed, 998 insertions, 910 deletions
diff --git a/challenge-032/kevin-colyer/perl6/ch-1.p6 b/challenge-032/kevin-colyer/perl6/ch-1.p6
new file mode 100644
index 0000000000..0a3af61d66
--- /dev/null
+++ b/challenge-032/kevin-colyer/perl6/ch-1.p6
@@ -0,0 +1,32 @@
+#!/usr/bin/perl6
+use v6;
+
+use Test;
+
+# 32.1 Create a script that either reads standard input or one or more files specified on the command-line.
+# Count the number of times and then print a summary, sorted by the count of each entry.
+#
+# So with the following input in file example.txt
+#
+# apple
+# apple
+# banana
+# apple
+# cherry
+# cherry
+# the script would display something like:
+#
+# apple 3
+# cherry 2
+# banana 1
+# For extra credit, add a -csv option to your script, which would generate:
+#
+# apple,3
+# cherry,2
+# banana,1
+
+sub MAIN($file where *.IO.f = "test.txt", Bool :$csv = False) {
+ my $bag=Bag.new($file.IO.slurp.lines>>.trim);
+ my $delim=$csv ?? "," !! "\t";
+ say $_.antipairs.fmt("%s$delim%s") for $bag.invert.sort.reverse;
+}
diff --git a/challenge-032/kevin-colyer/perl6/ch-2.p6 b/challenge-032/kevin-colyer/perl6/ch-2.p6
new file mode 100644
index 0000000000..3ec8e90a22
--- /dev/null
+++ b/challenge-032/kevin-colyer/perl6/ch-2.p6
@@ -0,0 +1,41 @@
+#!/usr/bin/perl6
+use v6;
+
+# 32.ASCII bar chart
+#
+# Write a function that takes a hashref where the keys are labels and the values are integer or floating point values. Generate a bar graph of the data and display it to stdout.
+#
+# The input could be something like:
+#
+# $data = { apple => 3, cherry => 2, banana => 1 };
+# generate_bar_graph($data);
+# And would then generate something like this:
+#
+# apple | ############
+# cherry | ########
+# banana | ####
+# If you fancy then please try this as well: (a) the function could let you specify whether the chart should be ordered by (1) the labels, or (2) the values.
+
+my %data = ( apple => 3, cherry => 2, banana => 1 );
+generate_bar_graph(%data);
+generate_bar_graph(%data, :sortByLabel);
+generate_bar_graph(%data, :sortDescending);
+%data = ( apple => 30, cherry => 25, banana => 3, peach => 40);
+generate_bar_graph(%data, :sortDescending, :graphWidth(40));
+
+
+sub generate_bar_graph(%data, Bool :$sortByLabel=False, Bool :$sortDescending=False, Int :$graphWidth=20) {
+ my $lableWidth=[max] %data.keys>>.chars;
+ my $max=1+[max] %data.values;
+ my $min=[min] %data.values;
+ my $multiplier=1/$max*$graphWidth;
+
+ die "not sure I want to display negative values" if $min < 0;
+
+ my @sorted = $sortByLabel==True ?? %data.sort(*.key) !! %data.sort(*.value);
+ @sorted.=reverse if $sortDescending;
+
+ for @sorted -> (:$key,:$value) {
+ say sprintf("%{$lableWidth}s | ", $key ) ~ "#" x $value*$multiplier;
+ };
+};
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 69aed33d4f..5abad70124 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,29 +1,19 @@
{
- "title" : {
- "text" : "Perl Weekly Challenge - 032"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
}
},
- "subtitle" : {
- "text" : "[Champions: 20] Last updated at 2019-10-31 16:46:31 GMT"
- },
"drilldown" : {
"series" : [
{
- "id" : "Andrezgz",
"data" : [
[
"Perl 5",
2
]
],
+ "id" : "Andrezgz",
"name" : "Andrezgz"
},
{
@@ -37,14 +27,14 @@
"name" : "Dave Cross"
},
{
+ "id" : "Dave Jacoby",
"name" : "Dave Jacoby",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Dave Jacoby"
+ ]
},
{
"name" : "Duane Powell",
@@ -67,8 +57,8 @@
]
},
{
- "name" : "Fabrizio Poggi",
"id" : "Fabrizio Poggi",
+ "name" : "Fabrizio Poggi",
"data" : [
[
"Perl 5",
@@ -77,6 +67,8 @@
]
},
{
+ "id" : "Javier Luque",
+ "name" : "Javier Luque",
"data" : [
[
"Perl 5",
@@ -90,12 +82,9 @@
"Blog",
1
]
- ],
- "id" : "Javier Luque",
- "name" : "Javier Luque"
+ ]
},
{
- "name" : "Joelle Maslak",
"data" : [
[
"Perl 5",
@@ -106,30 +95,40 @@
2
]
],
- "id" : "Joelle Maslak"
+ "id" : "Joelle Maslak",
+ "name" : "Joelle Maslak"
+ },
+ {
+ "id" : "Kevin Colyer",
+ "name" : "Kevin Colyer",
+ "data" : [
+ [
+ "Perl 6",
+ 2
+ ]
+ ]
},
{
"id" : "Lars Balker",
+ "name" : "Lars Balker",
"data" : [
[
"Perl 5",
2
]
- ],
- "name" : "Lars Balker"
+ ]
},
{
- "name" : "Lars Thegler",
- "id" : "Lars Thegler",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "name" : "Lars Thegler",
+ "id" : "Lars Thegler"
},
{
- "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl 5",
@@ -144,37 +143,38 @@
1
]
],
- "id" : "Laurent Rosenfeld"
+ "id" : "Laurent Rosenfeld",
+ "name" : "Laurent Rosenfeld"
},
{
"name" : "Markus Holzer",
+ "id" : "Markus Holzer",
"data" : [
[
"Perl 6",
2
]
- ],
- "id" : "Markus Holzer"
+ ]
},
{
- "name" : "Nazareno Delucca",
- "id" : "Nazareno Delucca",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Nazareno Delucca",
+ "name" : "Nazareno Delucca"
},
{
- "name" : "Prajith P",
- "id" : "Prajith P",
"data" : [
[
"Perl 5",
2
]
- ]
+ ],
+ "id" : "Prajith P",
+ "name" : "Prajith P"
},
{
"data" : [
@@ -183,8 +183,8 @@
2
]
],
- "id" : "Rage311",
- "name" : "Rage311"
+ "name" : "Rage311",
+ "id" : "Rage311"
},
{
"name" : "Roger Bell West",
@@ -197,144 +197,164 @@
]
},
{
- "id" : "Simon Proctor",
"data" : [
[
"Perl 6",
2
]
],
+ "id" : "Simon Proctor",
"name" : "Simon Proctor"
},
{
- "name" : "Steven Wilson",
"data" : [
[
"Perl 5",
2
]
],
- "id" : "Steven Wilson"
+ "id" : "Steven Wilson",
+ "name" : "Steven Wilson"
},
{
+ "name" : "Ulrich Rieke",
"id" : "Ulrich Rieke",
"data" : [
[
"Perl 5",
2
]
- ],
- "name" : "Ulrich Rieke"
+ ]
},
{
"name" : "Yet Ebreo",
+ "id" : "Yet Ebreo",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Yet Ebreo"
+ ]
}
]
},
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "legend" : {
- "enabled" : 0
- },
"xAxis" : {
"type" : "category"
},
"chart" : {
"type" : "column"
},
+ "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/>"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 032"
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ },
+ "borderWidth" : 0
+ }
+ },
+ "subtitle" : {
+ "text" : "[Champions: 21] Last updated at 2019-11-02 06:55:55 GMT"
+ },
"series" : [
{
"colorByPoint" : 1,
"data" : [
{
- "drilldown" : "Andrezgz",
"name" : "Andrezgz",
- "y" : 2
+ "y" : 2,
+ "drilldown" : "Andrezgz"
},
{
- "y" : 2,
"name" : "Dave Cross",
- "drilldown" : "Dave Cross"
+ "drilldown" : "Dave Cross",
+ "y" : 2
},
{
- "name" : "Dave Jacoby",
+ "drilldown" : "Dave Jacoby",
"y" : 2,
- "drilldown" : "Dave Jacoby"
+ "name" : "Dave Jacoby"
},
{
- "drilldown" : "Duane Powell",
"y" : 2,
+ "drilldown" : "Duane Powell",
"name" : "Duane Powell"
},
{
+ "y" : 2,
"drilldown" : "E. Choroba",
- "name" : "E. Choroba",
- "y" : 2
+ "name" : "E. Choroba"
},
{
- "drilldown" : "Fabrizio Poggi",
+ "name" : "Fabrizio Poggi",
"y" : 2,
- "name" : "Fabrizio Poggi"
+ "drilldown" : "Fabrizio Poggi"
},
{
"name" : "Javier Luque",
- "y" : 5,
- "drilldown" : "Javier Luque"
+ "drilldown" : "Javier Luque",
+ "y" : 5
},
{
+ "name" : "Joelle Maslak",
"drilldown" : "Joelle Maslak",
- "y" : 4,
- "name" : "Joelle Maslak"
+ "y" : 4
},
{
- "drilldown" : "Lars Balker",
+ "name" : "Kevin Colyer",
"y" : 2,
- "name" : "Lars Balker"
+ "drilldown" : "Kevin Colyer"
},
{
+ "name" : "Lars Balker",
"y" : 2,
- "name" : "Lars Thegler",
- "drilldown" : "Lars Thegler"
+ "drilldown" : "Lars Balker"
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Lars Thegler",
+ "name" : "Lars Thegler"
},
{
"drilldown" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld",
- "y" : 5
+ "y" : 5,
+ "name" : "Laurent Rosenfeld"
},
{
+ "y" : 2,
"drilldown" : "Markus Holzer",
- "name" : "Markus Holzer",
- "y" : 2
+ "name" : "Markus Holzer"
},
{
+ "drilldown" : "Nazareno Delucca",
"y" : 2,
- "name" : "Nazareno Delucca",
- "drilldown" : "Nazareno Delucca"
+ "name" : "Nazareno Delucca"
},
{
"drilldown" : "Prajith P",
- "name" : "Prajith P",
- "y" : 2
+ "y" : 2,
+ "name" : "Prajith P"
},
{
- "y" : 2,
"name" : "Rage311",
- "drilldown" : "Rage311"
+ "drilldown" : "Rage311",
+ "y" : 2
},
{
+ "y" : 2,
"drilldown" : "Roger Bell West",
- "name" : "Roger Bell West",
- "y" : 2
+ "name" : "Roger Bell West"
},
{
"drilldown" : "Simon Proctor",
@@ -347,22 +367,17 @@
"drilldown" : "Steven Wilson"
},
{
- "drilldown" : "Ulrich Rieke",
"name" : "Ulrich Rieke",
+ "drilldown" : "Ulrich Rieke",
"y" : 2
},
{
- "y" : 2,
"name" : "Yet Ebreo",
+ "y" : 2,
"drilldown" : "Yet Ebreo"
}
],
"name" : "Perl Weekly Challenge - 032"
}
- ],
- "tooltip" : {
- "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/>"
- }
+ ]
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 7e3749b129..d4c9d14aac 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,18 +1,22 @@
{
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
"series" : [
{
"dataLabels" : {
"align" : "right",
+ "color" : "#FFFFFF",
+ "y" : 10,
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
},
- "color" : "#FFFFFF",
- "rotation" : -90,
- "format" : "{point.y:.0f}",
"enabled" : "true",
- "y" : 10
+ "rotation" : -90,
+ "format" : "{point.y:.0f}"
},
+ "name" : "Contributions",
"data" : [
[
"Blog",
@@ -24,17 +28,25 @@
],
[
"Perl 6",
- 788
+ 790
]
- ],
- "name" : "Contributions"
+ ]
}
],
+ "legend" : {
+ "enabled" : "false"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2019-11-02 06:56:10 GMT"
+ },
+ "chart" : {
+ "type" : "column"
+ },
"yAxis" : {
+ "min" : 0,
"title" : {
"text" : null
- },
- "min" : 0
+ }
},
"xAxis" : {
"type" : "category",
@@ -45,18 +57,6 @@
}
}
},
- "chart" : {
- "type" : "column"
- },
- "legend" : {
- "enabled" : "false"
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "subtitle" : {
- "text" : "Last updated at 2019-10-31 16:46:51 GMT"
- },
"title" : {
"text" : "Perl Weekly Challenge Contributions - 2019"
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index b8e74e2a17..8ac5593195 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,45 +1,54 @@
{
- "xAxis" : {
- "type" : "category"
+ "legend" : {
+ "enabled" : "false"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-11-02 06:56:10 GMT"
},
"plotOptions" : {
"series" : {
- "borderWidth" : 0,
"dataLabels" : {
"format" : "{point.y}",
"enabled" : 1
- }
+ },
+ "borderWidth" : 0
}
},
+ "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" : [
{
- "y" : 132,
"drilldown" : "001",
+ "y" : 132,
"name" : "#001"
},
{
- "y" : 104,
"name" : "#002",
+ "y" : 104,
"drilldown" : "002"
},
{
- "y" : 67,
+ "drilldown" : "003",
"name" : "#003",
- "drilldown" : "003"
+ "y" : 67
},
{
- "y" : 86,
"name" : "#004",
+ "y" : 86,
"drilldown" : "004"
},
{
+ "name" : "#005",
"y" : 66,
- "drilldown" : "005",
- "name" : "#005"
+ "drilldown" : "005"
},
{
"drilldown" : "006",
@@ -47,9 +56,9 @@
"y" : 48
},
{
+ "drilldown" : "007",
"y" : 56,
- "name" : "#007",
- "drilldown" : "007"
+ "name" : "#007"
},
{
"drilldown" : "008",
@@ -57,128 +66,133 @@
"y" : 70
},
{
- "drilldown" : "009",
+ "y" : 68,
"name" : "#009",
- "y" : 68
+ "drilldown" : "009"
},
{
- "y" : 60,
"drilldown" : "010",
- "name" : "#010"
+ "name" : "#010",
+ "y" : 60
},
{
- "drilldown" : "011",
"name" : "#011",
- "y" : 78
+ "y" : 78,
+ "drilldown" : "011"
},
{
+ "y" : 83,
"name" : "#012",
- "drilldown" : "012",
- "y" : 83
+ "drilldown" : "012"
},
{
"name" : "#013",
- "drilldown" : "013",
- "y" : 76
+ "y" : 76,
+ "drilldown" : "013"
},
{
+ "drilldown" : "014",
"y" : 96,
- "name" : "#014",
- "drilldown" : "014"
+ "name" : "#014"
},
{
+ "y" : 93,
"name" : "#015",
- "drilldown" : "015",
- "y" : 93
+ "drilldown" : "015"
},
{
"drilldown" : "016",
- "name" : "#016",
- "y" : 66
+ "y" : 66,
+ "name" : "#016"
},
{
- "name" : "#017",
"drilldown" : "017",
- "y" : 79
+ "y" : 79,
+ "name" : "#017"
},
{
+ "y" : 76,
"name" : "#018",
- "drilldown" : "018",
- "y" : 76
+ "drilldown" : "018"
},
{
- "drilldown" : "019",
"name" : "#019",
- "y" : 95
+ "y" : 95,
+ "drilldown" : "019"
},
{
+ "name" : "#020",
"y" : 95,
- "drilldown" : "020",
- "name" : "#020"
+ "drilldown" : "020"
},
{
- "y" : 67,
+ "drilldown" : "021",
"name" : "#021",
- "drilldown" : "021"
+ "y" : 67
},
{
"y" : 63,
- "drilldown" : "022",
- "name" : "#022"
+ "name" : "#022",
+ "drilldown" : "022"
},
{
- "drilldown" : "023",
"name" : "#023",
- "y" : 91
+ "y" : 91,
+ "drilldown" : "023"
},
{
- "drilldown" : "024",
"name" : "#024",
- "y" : 70
+ "y" : 70,
+ "drilldown" : "024"
},
{
- "y" : 55,
"drilldown" : "025",
- "name" : "#025"
+ "name" : "#025",
+ "y" : 55
},
{
- "name" : "#026",
"drilldown" : "026",
+ "name" : "#026",
"y" : 70
},
{
"drilldown" : "027",
- "name" : "#027",
- "y" : 58
+ "y" : 58,
+ "name" : "#027"
},
{
+ "name" : "#028",
"y" : 78,
- "drilldown" : "028",
- "name" : "#028"
+ "drilldown" : "028"
},
{
"drilldown" : "029",
- "name" : "#029",
- "y" : 76
+ "y" : 76,
+ "name" : "#029"
},
{
"name" : "#030",
- "drilldown" : "030",
- "y" : 114
+ "y" : 114,
+ "drilldown" : "030"
},
{
- "drilldown" : "031",
+ "y" : 84,
"name" : "#031",
- "y" : 84
+ "drilldown" : "031"
},
{
"drilldown" : "032",
- "name" : "#032",
- "y" : 49
+ "y" : 51,
+ "name" : "#032"
}
- ]
+ ],
+ "colorByPoint" : "true",
+ "name" : "Perl Weekly Challenge Languages"
}
],
+ "xAxis" : {
+ "type" : "category"
+ },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
@@ -187,6 +201,8 @@
"drilldown" : {
"series" : [
{
+ "name" : "001",
+ "id" : "001",
"data" : [
[
"Perl 5",
@@ -200,11 +216,11 @@
"Blog",
11
]
- ],
- "id" : "001",
- "name" : "001"
+ ]
},
{
+ "name" : "002",
+ "id" : "002",
"data" : [
[
"Perl 5",
@@ -218,11 +234,11 @@
"Blog",
9
]
- ],
- "name" : "002",
- "id" : "002"
+ ]
},
{
+ "name" : "003",
+ "id" : "003",
"data" : [
[
"Perl 5",
@@ -236,9 +252,7 @@
"Blog",
9
]
- ],
- "id" : "003",
- "name" : "003"
+ ]
},
{
"data" : [
@@ -255,10 +269,11 @@
9
]
],
- "name" : "004",
- "id" : "004"
+ "id" : "004",
+ "name" : "004"
},
{
+ "name" : "005",
"data" : [
[
"Perl 5",
@@ -273,10 +288,10 @@
11
]
],
- "name" : "005",
"id" : "005"
},
{
+ "name" : "006",
"data" : [
[
"Perl 5",
@@ -291,12 +306,10 @@
7
]
],
- "id" : "006",
- "name" : "006"
+ "id" : "006"
},
{
"id" : "007",
- "name" : "007",
"data" : [
[
"Perl 5",
@@ -310,7 +323,8 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "007"
},
{
"data" : [
@@ -331,8 +345,6 @@
"name" : "008"
},
{
- "name" : "009",
- "id" : "009",
"data" : [
[
"Perl 5",
@@ -346,9 +358,13 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "009",
+ "name" : "009"
},
{
+ "name" : "010",
+ "id" : "010",
"data" : [
[
"Perl 5",
@@ -362,12 +378,9 @@
"Blog",
11
]
- ],
- "id" : "010",
- "name" : "010"
+ ]
},
{
- "name" : "011",
"id" : "011",
"data" : [
[
@@ -382,9 +395,12 @@
"Blog",
9
]
- ]
+ ],
+ "name" : "011"
},
{
+ "name" : "012",
+ "id" : "012",
"data" : [
[
"Perl 5",
@@ -398,13 +414,10 @@
"Blog",
11
]
- ],
- "id" : "012",
- "name" : "012"
+ ]
},
{
"id" : "013",
- "name" : "013",
"data" : [
[
"Perl 5",
@@ -418,11 +431,10 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "013"
},
{
- "name" : "014",
- "id" : "014",
"data" : [
[
"Perl 5",
@@ -436,10 +448,11 @@
"Blog",
15
]
- ]
+ ],
+ "id" : "014",
+ "name" : "014"
},
{
- "name" : "015",
"id" : "015",
"data" : [
[
@@ -454,11 +467,12 @@
"Blog",
15
]
- ]
+ ],
+ "name" : "015"
},
{
- "id" : "016",
"name" : "016",
+ "id" : "016",
"data" : [
[
"Perl 5",
@@ -475,6 +489,7 @@
]
},
{
+ "name" : "017",
"data" : [
[
"Perl 5",
@@ -489,12 +504,10 @@
12
]
],
- "name" : "017",
"id" : "017"
},
{
"name" : "018",
- "id" : "018",
"data" : [
[
"Perl 5",
@@ -508,7 +521,8 @@
"Blog",
14
]
- ]
+ ],
+ "id" : "018"
},
{
"name" : "019",
@@ -529,6 +543,7 @@
]
},
{
+ "name" : "020",
"data" : [
[
"Perl 5",
@@ -543,10 +558,10 @@
13
]
],
- "id" : "020",
- "name" : "020"
+ "id" : "020"
},
{
+ "name" : "021",
"data" : [
[
"Perl 5",
@@ -561,10 +576,10 @@
10
]
],
- "id" : "021",
- "name" : "021"
+ "id" : "021"
},
{
+ "id" : "022",
"data" : [
[
"Perl 5",
@@ -579,12 +594,9 @@
10
]
],
- "name" : "022",
- "id" : "022"
+ "name" : "022"
},
{
- "id" : "023",
- "name" : "023",
"data" : [
[
"Perl 5",
@@ -598,10 +610,11 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "023",