aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-07-01 18:54:42 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-07-01 18:54:42 +0100
commita04d318e2d8dbaf47dbbf5a77592b57f077699e8 (patch)
tree35c71727c5cacf88e01c0ff2c513578ecee93176
parenta3300e38c96736d731829259bc97eef7770b89b1 (diff)
downloadperlweeklychallenge-club-a04d318e2d8dbaf47dbbf5a77592b57f077699e8.tar.gz
perlweeklychallenge-club-a04d318e2d8dbaf47dbbf5a77592b57f077699e8.tar.bz2
perlweeklychallenge-club-a04d318e2d8dbaf47dbbf5a77592b57f077699e8.zip
- Added solution by Duane Powell.
-rw-r--r--challenge-015/duane-powell/perl5/ch-2.pl44
-rw-r--r--stats/pwc-current.json111
-rw-r--r--stats/pwc-language-breakdown-summary.json40
-rw-r--r--stats/pwc-language-breakdown.json156
-rw-r--r--stats/pwc-leaders.json508
-rw-r--r--stats/pwc-summary-1-30.json106
-rw-r--r--stats/pwc-summary-31-60.json42
-rw-r--r--stats/pwc-summary-61-90.json48
-rw-r--r--stats/pwc-summary-91-120.json66
-rw-r--r--stats/pwc-summary.json30
10 files changed, 605 insertions, 546 deletions
diff --git a/challenge-015/duane-powell/perl5/ch-2.pl b/challenge-015/duane-powell/perl5/ch-2.pl
new file mode 100644
index 0000000000..a169d5816d
--- /dev/null
+++ b/challenge-015/duane-powell/perl5/ch-2.pl
@@ -0,0 +1,44 @@
+#!/usr/bin/perl
+use Modern::Perl;
+
+#https://perlweeklychallenge.org/blog/perl-weekly-challenge-015/
+#Write a script to implement Vigenère cipher. The script should be able encode and decode.
+#Checkout wiki page https://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher for more information.
+#
+#Make it easy for the next coder to modify, just translate the wiki formula into perl
+#encryption
+#Ci = Mi + Ki mod 26
+#decryption
+#Mi = Ci - Ki mod 26
+
+my $text = shift || "ATTACKATDAWN";
+my $key = shift || "LEMON";
+my $encrypt = shift;
+$encrypt = (defined $encrypt) ? -1 : 1; #default to encrypt mode
+
+my @m = split(//,$text);
+my @k = split(//,$key);
+my $OFFSET = 65; #offset index by 65, the ASCII value of A, in effect creating the tabula recta
+
+my $out;
+my $i = 0;
+foreach my $m (@m) {
+ my $k = $k[$i];
+ $i = ($i < @k-1) ? $i+1 : 0; #repeat key chars if key is shorter than the input text
+ my $c = (unpack("C*",$m) + $encrypt * unpack("C*",$k)) % 26; #we add if encrypt, subtract if decrypt
+ $out .= pack("C*", $c+$OFFSET) ;
+}
+say $out;
+
+__END__
+
+./ch2.pl ATTACKATDAWN LEMON
+LXFOPVEFRNHR
+./ch2.pl LXFOPVEFRNHR LEMON 1
+ATTACKATDAWN
+
+./ch2.pl THESECRETCODISHELLOWORLD PASSPHRASEISPERLRULESTHEDAY
+IHWKTJIELGWVXWYPCFZAGKSH
+./ch2.pl IHWKTJIELGWVXWYPCFZAGKSH PASSPHRASEISPERLRULESTHEDAY 1
+THESECRETCODISHELLOWORLD
+
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index ad2e7a562a..a7955e1440 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,44 +1,24 @@
{
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
+ "xAxis" : {
+ "type" : "category"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 015"
},
- "series" : [
- {
- "data" : [
- {
- "y" : 3,
- "name" : "Dave Jacoby",
- "drilldown" : "Dave Jacoby"
- },
- {
- "name" : "Roger Bell West",
- "drilldown" : "Roger Bell West",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Walt Mankowski",
- "drilldown" : "Walt Mankowski"
- }
- ],
- "name" : "Perl Weekly Challenge - 015",
- "colorByPoint" : 1
- }
- ],
"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
+ "followPointer" : 1,
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>"
},
- "chart" : {
- "type" : "column"
+ "legend" : {
+ "enabled" : 0
},
"drilldown" : {
"series" : [
{
- "id" : "Dave Jacoby",
"data" : [
[
"Perl 5",
@@ -49,7 +29,18 @@
1
]
],
- "name" : "Dave Jacoby"
+ "name" : "Dave Jacoby",
+ "id" : "Dave Jacoby"
+ },
+ {
+ "data" : [
+ [
+ "Perl 5",
+ 1
+ ]
+ ],
+ "name" : "Duane Powell",
+ "id" : "Duane Powell"
},
{
"data" : [
@@ -63,35 +54,59 @@
},
{
"name" : "Walt Mankowski",
+ "id" : "Walt Mankowski",
"data" : [
[
"Perl 5",
2
]
- ],
- "id" : "Walt Mankowski"
+ ]
}
]
},
- "xAxis" : {
- "type" : "category"
- },
- "subtitle" : {
- "text" : "[Champions: 3] Last updated at 2019-07-01 17:50:16 GMT"
- },
- "legend" : {
- "enabled" : 0
- },
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "data" : [
+ {
+ "y" : 3,
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
+ },
+ {
+ "drilldown" : "Duane Powell",
+ "name" : "Duane Powell",
+ "y" : 1
+ },
+ {
+ "y" : 2,
+ "name" : "Roger Bell West",
+ "drilldown" : "Roger Bell West"
+ },
+ {
+ "name" : "Walt Mankowski",
+ "drilldown" : "Walt Mankowski",
+ "y" : 2
+ }
+ ],
+ "name" : "Perl Weekly Challenge - 015"
+ }
+ ],
"plotOptions" : {
"series" : {
"borderWidth" : 0,
"dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
+ "enabled" : 1,
+ "format" : "{point.y}"
}
}
},
- "title" : {
- "text" : "Perl Weekly Challenge - 015"
+ "subtitle" : {
+ "text" : "[Champions: 4] Last updated at 2019-07-01 17:54:19 GMT"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index e1b93b7359..a84435281c 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,22 +1,19 @@
{
"xAxis" : {
- "type" : "category",
"labels" : {
"style" : {
- "fontSize" : "13px",
- "fontFamily" : "Verdana, sans-serif"
+ "fontFamily" : "Verdana, sans-serif",
+ "fontSize" : "13px"
}
- }
+ },
+ "type" : "category"
},
- "legend" : {
- "enabled" : "false"
+ "chart" : {
+ "type" : "column"
},
"tooltip" : {
"pointFormat" : "<b>{point.y:.0f}</b>"
},
- "title" : {
- "text" : "Perl Weekly Challenge Contributions - 2019"
- },
"series" : [
{
"data" : [
@@ -26,30 +23,33 @@
],
[
"Perl 5",
- 591
+ 592
],
[
"Perl 6",
339
]
],
- "name" : "Contributions",
"dataLabels" : {
- "align" : "right",
"format" : "{point.y:.0f}",
"color" : "#FFFFFF",
- "rotation" : -90,
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
},
+ "y" : 10,
+ "rotation" : -90,
"enabled" : "true",
- "y" : 10
- }
+ "align" : "right"
+ },
+ "name" : "Contributions"
}
],
- "chart" : {
- "type" : "column"
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions - 2019"
+ },
+ "legend" : {
+ "enabled" : "false"
},
"yAxis" : {
"title" : {
@@ -58,6 +58,6 @@
"min" : 0
},
"subtitle" : {
- "text" : "Last updated at 2019-07-01 17:50:23 GMT"
+ "text" : "Last updated at 2019-07-01 17:54:34 GMT"
}
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 6cbd7957f4..2e4e4f07d6 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,18 +1,35 @@
{
- "title" : {
- "text" : "Perl Weekly Challenge Language"
- },
"xAxis" : {
"type" : "category"
},
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
+ },
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-07-01 17:54:34 GMT"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
"legend" : {
"enabled" : "false"
},
+ "title" : {
+ "text" : "Perl Weekly Challenge Language"
+ },
"drilldown" : {
"series" : [
{
- "name" : "001",
"id" : "001",
+ "name" : "001",
"data" : [
[
"Perl 5",
@@ -29,8 +46,8 @@
]
},
{
- "name" : "002",
"id" : "002",
+ "name" : "002",
"data" : [
[
"Perl 5",
@@ -47,8 +64,8 @@
]
},
{
- "name" : "003",
"id" : "003",
+ "name" : "003",
"data" : [
[
"Perl 5",
@@ -65,7 +82,6 @@
]
},
{
- "id" : "004",
"data" : [
[
"Perl 5",
@@ -80,10 +96,10 @@
9
]
],
- "name" : "004"
+ "name" : "004",
+ "id" : "004"
},
{
- "id" : "005",
"data" : [
[
"Perl 5",
@@ -98,6 +114,7 @@
11
]
],
+ "id" : "005",
"name" : "005"
},
{
@@ -119,7 +136,6 @@
]
},
{
- "id" : "007",
"data" : [
[
"Perl 5",
@@ -134,9 +150,12 @@
8
]
],
- "name" : "007"
+ "name" : "007",
+ "id" : "007"
},
{
+ "name" : "008",
+ "id" : "008",
"data" : [
[
"Perl 5",
@@ -150,12 +169,9 @@
"Blog",
9
]
- ],
- "id" : "008",
- "name" : "008"
+ ]
},
{
- "id" : "009",
"data" : [
[
"Perl 5",
@@ -170,11 +186,12 @@
11
]
],
- "name" : "009"
+ "name" : "009",
+ "id" : "009"
},
{
- "name" : "010",
"id" : "010",
+ "name" : "010",
"data" : [
[
"Perl 5",
@@ -192,6 +209,7 @@
},
{
"id" : "011",
+ "name" : "011",
"data" : [
[
"Perl 5",
@@ -205,11 +223,11 @@
"Blog",
8
]
- ],
- "name" : "011"
+ ]
},
{
"id" : "012",
+ "name" : "012",
"data" : [
[
"Perl 5",
@@ -223,11 +241,9 @@
"Blog",
9
]
- ],
- "name" : "012"
+ ]
},
{
- "name" : "013",
"data" : [
[
"Perl 5",
@@ -242,9 +258,11 @@
11
]
],
+ "name" : "013",
"id" : "013"
},
{
+ "id" : "014",
"name" : "014",
"data" : [
[
@@ -259,15 +277,13 @@
"Blog",
13
]
- ],
- "id" : "014"
+ ]
},
{
- "id" : "015",
"data" : [
[
"Perl 5",
- 6
+ 7
],
[
"Perl 6",
@@ -278,116 +294,100 @@
1
]
],
+ "id" : "015",
"name" : "015"
}
]
},
"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/>"
- },
- "chart" : {
- "type" : "column"
- },
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
- },
- "subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2019-07-01 17:50:23 GMT"
+ "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : "true"
},
"series" : [
{
- "colorByPoint" : "true",
- "name" : "Perl Weekly Challenge Languages",
"data" : [
{
- "drilldown" : "001",
"y" : 123,
- "name" : "#001"
+ "name" : "#001",
+ "drilldown" : "001"
},
{
"drilldown" : "002",
- "y" : 104,
- "name" : "#002"
+ "name" : "#002",
+ "y" : 104
},
{
- "name" : "#003",
+ "y" : 66,
"drilldown" : "003",
- "y" : 66
+ "name" : "#003"
},
{
- "name" : "#004",
"y" : 84,
- "drilldown" : "004"
+ "drilldown" : "004",
+ "name" : "#004"
},
{
- "name" : "#005",
+ "y" : 66,
"drilldown" : "005",
- "y" : 66
+ "name" : "#005"
},
{
"y" : 47,
- "drilldown" : "006",
- "name" : "#006"
+ "name" : "#006",
+ "drilldown" : "006"
},
{
- "name" : "#007",
"y" : 54,
- "drilldown" : "007"
+ "drilldown" : "007",
+ "name" : "#007"
},
{
- "y" : 67,
"drilldown" : "008",
- "name" : "#008"
+ "name" : "#008",
+ "y" : 67
},
{
- "drilldown" : "009",
"y" : 62,
+ "drilldown" : "009",
"name" : "#009"
},
{
"name" : "#010",
- "y" : 58,
- "drilldown" : "010"
+ "drilldown" : "010",
+ "y" : 58
},
{
+ "name" : "#011",
"drilldown" : "011",
- "y" : 75,
- "name" : "#011"
+ "y" : 75
},
{
- "name" : "#012",
+ "y" : 81,
"drilldown" : "012",
- "y" : 81
+ "name" : "#012"
},
{
+ "drilldown" : "013",
"name" : "#013",
- "y" : 74,
- "drilldown" : "013"
+ "y" : 74
},
{
- "name" : "#014",
"drilldown" : "014",
+ "name" : "#014",
"y" : 94
},
{
+ "drilldown" : "015",
"name" : "#015",
- "y" : 7,
- "drilldown" : "015"
+ "y" : 8
}
- ]
+ ],
+ "colorByPoint" : "true",
+ "name" : "Perl Weekly Challenge Languages"
}
],
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
+ "chart" : {
+ "type" : "column"
}
}
diff --git a/stats/pwc-leaders.json b/stats/pwc-leaders.json
index 1afa645d1f..13efb26c25 100644
--- a/stats/pwc-leaders.json
+++ b/stats/pwc-leaders.json
@@ -1,48 +1,48 @@
{
- "subtitle" : {
- "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-07-01 17:50:20 GMT"
- },
"tooltip" : {
- "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>",
"headerFormat" : "<span style=\"font-size:11px\"></span>",
+ "pointFormat" : "<span style=\"color:{point.color}\">{point.name}</span>: <b>{point.y:f}</b><br/>",
"followPointer" : "true"
},
+ "title" : {
+ "text" : "Perl Weekly Challenge Leaders (TOP 50)"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
"legend" : {
"enabled" : "false"
},
- "xAxis" : {
- "type" : "category"
+ "subtitle" : {
+ "text" : "Click the columns to drilldown the score breakdown. Last updated at 2019-07-01 17:54:29 GMT"
},
"chart" : {
"type" : "column"
},
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "enabled" : 1,
- "format" : "{point.y}"
- },
- "borderWidth" : 0
- }
- },
- "title" : {
- "text" : "Perl Weekly Challenge Leaders (TOP 50)"
+ "xAxis" : {
+ "type" : "category"
},
"drilldown" : {
"series" : [
{
"data" : [
[
+ "Perl 5",
+ 35
+ ],
+ [
"Perl 6",
35
],
[
"Blog",
4
- ],
- [
- "Perl 5",
- 35
]
],
"id" : "Joelle Maslak",
@@ -51,40 +51,41 @@
{
"data" : [
[
+ "Perl 6",
+ 27
+ ],
+ [
"Blog",
16
],
[
"Perl 5",
28
- ],
- [
- "Perl 6",
- 27
]
],
"id" : "Laurent Rosenfeld",
"name" : "Laurent Rosenfeld"
},
{
+ "name" : "Jaldhar H. Vyas",
+ "id" : "Jaldhar H. Vyas",
"data" : [
[
- "Perl 6",
- 28
- ],
- [
"Blog",
2
],
[
+ "Perl 6",
+ 28
+ ],
+ [
"Perl 5",
28
]
- ],
- "id" : "Jaldhar H. Vyas",
- "name" : "Jaldhar H. Vyas"
+ ]
},
{
+ "id" : "Ruben Westerberg",
"data" : [
[
"Perl 6",
@@ -95,8 +96,7 @@
25
]
],
- "name" : "Ruben Westerberg",
- "id" : "Ruben Westerberg"
+ "name" : "Ruben Westerberg"
},
{
"data" : [
@@ -113,50 +113,50 @@
"name" : "Adam Russell"
},
{
- "name" : "Arne Sommer",
- "id" : "Arne Sommer",
"data" : [
[
- "Blog",
- 13
- ],
- [
"Perl 6",
25
+ ],
+ [
+ "Blog",
+ 13
]
- ]
+ ],
+ "id" : "Arne Sommer",
+ "name" : "Arne Sommer"
},
{
- "id" : "Athanasius",
"name" : "Athanasius",
+ "id" : "Athanasius",
"data" : [
[
- "Perl 6",
- 6
- ],
- [
"Perl 5",
30
],
[
"Blog",
2
+ ],
+ [
+ "Perl 6",
+ 6
]
]
},
{
- "id" : "Kian-Meng Ang",
- "name" : "Kian-Meng Ang",
"data" : [
[
- "Blog",
- 11
- ],
- [
"Perl 5",
24
+ ],
+ [
+ "Blog",
+ 11
]
- ]
+ ],
+ "id" : "Kian-Meng Ang",
+ "name" : "Kian-Meng Ang"
},
{
"name" : "Simon Proctor",
@@ -167,12 +167,12 @@
4
],
[
- "Blog",
- 7
- ],
- [
"Perl 6",
24
+ ],
+ [
+ "Blog",
+ 7
]
]
},
@@ -183,42 +183,42 @@
14
],
[
- "Perl 5",
- 17
- ],
- [
"Perl 6",
1
+ ],
+ [
+ "Perl 5",
+ 17
]
],
- "name" : "Dave Jacoby",
- "id" : "Dave Jacoby"
+ "id" : "Dave Jacoby",
+ "name" : "Dave Jacoby"
},
{
- "id" : "Francis Whittle",
"name" : "Francis Whittle",
+ "id" : "Francis Whittle",
"data" : [
[
- "Perl 6",
- 24
- ],
- [
"Blog",
7
+ ],
+ [
+ "Perl 6",
+ 24
]
]
},
{
- "id" : "E. Choroba",
"name" : "E. Choroba",
+ "id" : "E. Choroba",
"data" : [
[
- "Blog",
- 10
- ],
- [
"Perl 5",
20
+ ],
+ [
+ "Blog",
+ 10
]
]
},
@@ -227,54 +227,55 @@
"id" : "Gustavo Chaves",
"data" : [
[
- "Perl 5",
- 25
- ],
- [
"Blog",
4
+ ],
+ [
+ "Perl 5",
+ 25
]
]
},
{
+ "name" : "Andrezgz",
+ "id" : "Andrezgz",
"data" : [
[
"Perl 5",
27
]
- ],
- "id" : "Andrezgz",
- "name" : "Andrezgz"
+ ]
},
{
"data" : [
[
+ "Perl 6",
+ 12
+ ],
+ [
"Blog",
6
],
[
"Perl 5",
6
- ],
- [
- "Perl 6",
- 12
]
],
- "name" : "Jo Christian Oterhals",
- "id" : "Jo Christian Oterhals"
+ "id" : "Jo Christian Oterhals",
+ "name" : "Jo Christian Oterhals"
},
{
+ "name" : "Daniel Mantovani",
+ "id" : "Daniel Mantovani",
"data" : [
[
"Perl 5",
22
]
- ],
- "id" : "Daniel Mantovani",
- "name" : "Daniel Mantovani"
+ ]
},
{
+ "name" : "Dr James A. Smith",
"data" : [
[
"Perl 6",
@@ -285,20 +286,20 @@
12
]
],
- "name" : "Dr James A. Smith",
"id" : "Dr James A. Smith"
},
{
- "id" : "Duncan C. White",
"name" : "Duncan C. White",
"data" : [
[
"Perl 5",
22
]
- ]
+ ],
+ "id" : "Duncan C. White"
},
{
+ "id" : "Yozen Hernandez",
"data" : [
[
"Perl 5",
@@ -309,40 +310,39 @@
6
]
],
- "name" : "Yozen Hernandez",
- "id" : "Yozen Hernandez"
+ "name" : "Yozen Hernandez"
},
{
"name" : "Steven Wilson",
"id" : "Steven Wilson",
"data" : [
[
- "Perl 5",
- 17
- ],
- [
"Blog",
2
+ ],
+ [
+ "Perl 5",
+ 17
]
]
},
{
+ "name" : "Feng Chang",
+ "id" : "Feng Chang",
"data" : [
[
- "Perl 6",
+ "Perl 5",
9
],
[
- "Perl 5",
+ "Perl 6",
9
]
- ],
- "id" : "Feng Chang",
- "name" : "Feng Chang"
+ ]
},
{
- "id" : "Mark Senn",
"name" : "Mark Senn",
+ "id" : "Mark Senn",
"data" : [
[
"Blog",
@@ -355,6 +355,7 @@
]
},
{
+ "id" : "Nick Logan",
"data" : [
[
"Perl 5",
@@ -365,56 +366,55 @@
8
]
],
- "name" : "Nick Logan",
- "id" : "Nick Logan"
+ "name" : "Nick Logan"
},
{
- "id" : "Guillermo Ramos",
- "name" : "Guillermo Ramos",
"data" : [
[
"Perl 5",
14
]
- ]
+ ],
+ "id" : "Guillermo Ramos",
+ "name" : "Guillermo Ramos"
},
{
"name" : "Lars Balker",
"id" : "Lars Balker",
"data" : [
[
- "Perl 5",
- 10
- ],
- [
"Perl 6",
4
+ ],
+ [
+ "Perl 5",
+ 10
]
]
},
{
- "name" : "Ozzy",
"id" : "Ozzy",
"data" : [
[
"Perl 6",
13
]
- ]
+ ],
+ "name" : "Ozzy"
},
{
+ "id" : "Maxim Nechaev",
"data" : [
[
"Perl 5",
12
]
],
- "name" : "Maxim Nechaev",
- "id" : "Maxim Nechaev"
+ "name" : "Maxim Nechaev"