aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-20 11:56:09 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-07-20 11:56:09 +0100
commit3e7a89a2cf23875c4e369aba8f23af0092cc0c09 (patch)
tree60ed65564b8975d9ef13c585637994eb8b25a5ec
parent3e69e00e07a8b50fc3db9ba013dc4f1f2832d327 (diff)
downloadperlweeklychallenge-club-3e7a89a2cf23875c4e369aba8f23af0092cc0c09.tar.gz
perlweeklychallenge-club-3e7a89a2cf23875c4e369aba8f23af0092cc0c09.tar.bz2
perlweeklychallenge-club-3e7a89a2cf23875c4e369aba8f23af0092cc0c09.zip
- Added Perl solutions to the Challenge #070.
-rwxr-xr-xchallenge-070/mohammad-anwar/perl/ch-1.pl32
-rwxr-xr-xchallenge-070/mohammad-anwar/perl/ch-1a.pl29
-rwxr-xr-xchallenge-070/mohammad-anwar/perl/ch-2.pl45
-rwxr-xr-xchallenge-070/mohammad-anwar/perl/ch-2a.pl52
-rw-r--r--stats/pwc-current.json125
-rw-r--r--stats/pwc-language-breakdown-summary.json68
-rw-r--r--stats/pwc-language-breakdown.json998
-rw-r--r--stats/pwc-leaders.json744
-rw-r--r--stats/pwc-summary-1-30.json40
-rw-r--r--stats/pwc-summary-121-150.json98
-rw-r--r--stats/pwc-summary-151-180.json88
-rw-r--r--stats/pwc-summary-31-60.json96
-rw-r--r--stats/pwc-summary-61-90.json36
-rw-r--r--stats/pwc-summary-91-120.json52
-rw-r--r--stats/pwc-summary.json384
15 files changed, 1530 insertions, 1357 deletions
diff --git a/challenge-070/mohammad-anwar/perl/ch-1.pl b/challenge-070/mohammad-anwar/perl/ch-1.pl
new file mode 100755
index 0000000000..c425cf29ae
--- /dev/null
+++ b/challenge-070/mohammad-anwar/perl/ch-1.pl
@@ -0,0 +1,32 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 070
+#
+# Task #1: Character Swapping
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-070
+#
+
+use strict;
+use warnings;
+
+my $S = $ARGV[0] || 'perlandraku';
+my $C = $ARGV[1] || 3;
+my $O = $ARGV[2] || 4;
+
+print sprintf("%s => %s\n", $S, swap($S, $C, $O));
+
+sub swap {
+ my ($string, $count, $offset) = @_;
+
+ my $length = length($string);
+ my @array = split //, $string;
+ foreach my $i (1..$count) {
+ my $a = $i % $length;
+ my $b = ($i + $offset) % $length;
+ ($array[$a], $array[$b]) = ($array[$b], $array[$a]);
+ }
+
+ return join '', @array;
+}
diff --git a/challenge-070/mohammad-anwar/perl/ch-1a.pl b/challenge-070/mohammad-anwar/perl/ch-1a.pl
new file mode 100755
index 0000000000..a84a6d8078
--- /dev/null
+++ b/challenge-070/mohammad-anwar/perl/ch-1a.pl
@@ -0,0 +1,29 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+is(swap('perlandraku', 3, 4),
+ 'pndraerlaku',
+ 'testing perlandraku.');
+is(swap('weeklychallenge', 5, 2),
+ 'wklycheeallenge',
+ 'testing weeklychallenge.');
+
+done_testing;
+
+sub swap {
+ my ($string, $count, $offset) = @_;
+
+ my $length = length($string);
+ my @array = split //, $string;
+ foreach my $i (1..$count) {
+ my $a = $i % $length;
+ my $b = ($i + $offset) % $length;
+ ($array[$a], $array[$b]) = ($array[$b], $array[$a]);
+ }
+
+ return join '', @array;
+}
diff --git a/challenge-070/mohammad-anwar/perl/ch-2.pl b/challenge-070/mohammad-anwar/perl/ch-2.pl
new file mode 100755
index 0000000000..e18b5a9de6
--- /dev/null
+++ b/challenge-070/mohammad-anwar/perl/ch-2.pl
@@ -0,0 +1,45 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 070
+#
+# Task #2: Gray Code Sequence
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-070
+#
+
+use strict;
+use warnings;
+
+my $N = $ARGV[0] || 3;
+
+print sprintf("%d-bit Gray Code Sequence:\n[%s]\n",
+ $N, join ', ', generate_gray_code_sequence($N));
+
+sub generate_gray_code_sequence {
+ my ($n) = @_;
+
+ my %S = (
+ 2 => ['00', '01', '11', '10'],
+ );
+
+ foreach my $i (3 .. $n) {
+ my $S1 = $S{$i - 1};
+ my $S2 = [ reverse @$S1 ];
+ $_ = '0' . $_ foreach @$S1;
+ $_ = '1' . $_ foreach @$S2;
+ $S{$i} = [ @$S1, @$S2 ];
+ }
+
+ my @gray_codes = ();
+ push @gray_codes, bin2dec($_) foreach (@{$S{$n}});
+
+ return @gray_codes;
+}
+
+# Borrowed from Perl Cookbook
+# https://www.oreilly.com/library/view/perl-cookbook/1565922433/ch02s05.html
+
+sub bin2dec {
+ return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
+}
diff --git a/challenge-070/mohammad-anwar/perl/ch-2a.pl b/challenge-070/mohammad-anwar/perl/ch-2a.pl
new file mode 100755
index 0000000000..dcbb7654f8
--- /dev/null
+++ b/challenge-070/mohammad-anwar/perl/ch-2a.pl
@@ -0,0 +1,52 @@
+#!/usr/bin/perl
+
+#
+# Perl Weekly Challenge - 070
+#
+# Task #2: Gray Code Sequence
+#
+# https://perlweeklychallenge.org/blog/perl-weekly-challenge-070
+#
+
+use strict;
+use warnings;
+
+use Test::More;
+use Test::Deep;
+
+is_deeply( [ generate_gray_code_sequence(3) ],
+ [ 0, 1, 3, 2, 6, 7, 5, 4 ],
+ 'testing 3-bit gray code sequence' );
+is_deeply( [ generate_gray_code_sequence(4) ],
+ [ 0, 1, 3, 2, 6, 7, 5, 4, 12, 13, 15, 14, 10, 11, 9, 8 ],
+ 'testing 4-bit gray code sequence' );
+
+done_testing;
+
+sub generate_gray_code_sequence {
+ my ($n) = @_;
+
+ my %S = (
+ 2 => ['00', '01', '11', '10'],
+ );
+
+ foreach my $i (3 .. $n) {
+ my $S1 = $S{$i - 1};
+ my $S2 = [ reverse @$S1 ];
+ $_ = '0' . $_ foreach @$S1;
+ $_ = '1' . $_ foreach @$S2;
+ $S{$i} = [ @$S1, @$S2 ];
+ }
+
+ my @gray_codes = ();
+ push @gray_codes, bin2dec($_) foreach (@{$S{$n}});
+
+ return @gray_codes;
+}
+
+# Borrowed from Perl Cookbook
+# https://www.oreilly.com/library/view/perl-cookbook/1565922433/ch02s05.html
+
+sub bin2dec {
+ return unpack("N", pack("B32", substr("0" x 32 . shift, -32)));
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index dd2280d6bf..4528d8f1cb 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,16 +1,41 @@
{
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
+ "series" : [
+ {
+ "data" : [
+ {
+ "y" : 4,
+ "drilldown" : "Andrew Shitov",
+ "name" : "Andrew Shitov"
+ },
+ {
+ "y" : 5,
+ "name" : "Javier Luque",
+ "drilldown" : "Javier Luque"
+ },
+ {
+ "name" : "Mohammad S Anwar",
+ "drilldown" : "Mohammad S Anwar",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "name" : "Roger Bell_West",
+ "drilldown" : "Roger Bell_West"
+ },
+ {
+ "y" : 3,
+ "drilldown" : "Simon Green",
+ "name" : "Simon Green"
+ }
+ ],
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 070"
}
- },
+ ],
"drilldown" : {
"series" : [
{
+ "name" : "Andrew Shitov",
"data" : [
[
"Raku",
@@ -21,11 +46,9 @@
2
]
],
- "id" : "Andrew Shitov",
- "name" : "Andrew Shitov"
+ "id" : "Andrew Shitov"
},
{
- "id" : "Javier Luque",
"name" : "Javier Luque",
"data" : [
[
@@ -40,11 +63,21 @@
"Blog",
1
]
+ ],
+ "id" : "Javier Luque"
+ },
+ {
+ "name" : "Mohammad S Anwar",
+ "id" : "Mohammad S Anwar",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
]
},
{
"id" : "Roger Bell_West",
- "name" : "Roger Bell_West",
"data" : [
[
"Perl",
@@ -54,7 +87,8 @@
"Raku",
2
]
- ]
+ ],
+ "name" : "Roger Bell_West"
},
{
"data" : [
@@ -72,57 +106,38 @@
}
]
},
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
+ "subtitle" : {
+ "text" : "[Champions: 5] Last updated at 2020-07-20 10:56:00 GMT"
},
- "legend" : {
- "enabled" : 0
+ "xAxis" : {
+ "type" : "category"
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ }
+ }
},
"tooltip" : {
- "followPointer" : 1,
"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/>"
- },
- "xAxis" : {
- "type" : "category"
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "followPointer" : 1
},
- "chart" : {
- "type" : "column"
+ "legend" : {
+ "enabled" : 0
},
- "series" : [
- {
- "data" : [
- {
- "drilldown" : "Andrew Shitov",
- "y" : 4,
- "name" : "Andrew Shitov"
- },
- {
- "drilldown" : "Javier Luque",
- "name" : "Javier Luque",
- "y" : 5
- },
- {
- "drilldown" : "Roger Bell_West",
- "name" : "Roger Bell_West",
- "y" : 4
- },
- {
- "y" : 3,
- "name" : "Simon Green",
- "drilldown" : "Simon Green"
- }
- ],
- "name" : "Perl Weekly Challenge - 070",
- "colorByPoint" : 1
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
}
- ],
- "subtitle" : {
- "text" : "[Champions: 4] Last updated at 2020-07-20 10:25:23 GMT"
},
"title" : {
"text" : "Perl Weekly Challenge - 070"
+ },
+ "chart" : {
+ "type" : "column"
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 97b4db7e2d..cda03e06f1 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -2,6 +2,33 @@
"chart" : {
"type" : "column"
},
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
+ "yAxis" : {
+ "min" : 0,
+ "title" : {
+ "text" : null
+ }
+ },
+ "legend" : {
+ "enabled" : "false"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "xAxis" : {
+ "labels" : {
+ "style" : {
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
+ }
+ },
+ "type" : "category"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2020-07-20 10:56:00 GMT"
+ },
"series" : [
{
"data" : [
@@ -11,7 +38,7 @@
],
[
"Perl",
- 2865
+ 2867
],
[
"Raku",
@@ -19,45 +46,18 @@
]
],
"dataLabels" : {
- "enabled" : "true",
- "color" : "#FFFFFF",
+ "format" : "{point.y:.0f}",
+ "align" : "right",
+ "y" : 10,
"style" : {
"fontFamily" : "Verdana, sans-serif",
"fontSize" : "13px"
},
- "y" : 10,
+ "color" : "#FFFFFF",
"rotation" : -90,
- "align" : "right",
- "format" : "{point.y:.0f}"
+ "enabled" : "true"
},
"name" : "Contributions"
}
- ],
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
- "subtitle" : {
- "text" : "Last updated at 2020-07-20 10:25:23 GMT"
- },
- "xAxis" : {
- "type" : "category",
- "labels" : {
- "style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
- }
- }
- },
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "legend" : {
- "enabled" : "false"
- },
- "yAxis" : {
- "title" : {
- "text" : null
- },
- "min" : 0
- }
+ ]
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index 18d00bb150..e316bf405f 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -1,391 +1,23 @@
{
- "tooltip" : {
- "followPointer" : "true",
- "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>",
- "headerFormat" : "<span style=\"font-size:11px\"></span>"
+ "plotOptions" : {
+ "series" : {
+ "dataLabels" : {
+ "enabled" : 1,
+ "format" : "{point.y}"
+ },
+ "borderWidth" : 0
+ }
},
"xAxis" : {
"type" : "category"
},
- "chart" : {
- "type" : "column"
- },
- "series" : [
- {
- "colorByPoint" : "true",
- "name" : "Perl Weekly Challenge Languages",
- "data" : [
- {
- "drilldown" : "001",
- "y" : 142,
- "name" : "#001"
- },
- {
- "drilldown" : "002",
- "name" : "#002",
- "y" : 109
- },
- {
- "drilldown" : "003",
- "name" : "#003",
- "y" : 71
- },
- {
- "drilldown" : "004",
- "y" : 91,
- "name" : "#004"
- },
- {
- "y" : 72,
- "name" : "#005",
- "drilldown" : "005"
- },
- {
- "drilldown" : "006",
- "name" : "#006",
- "y" : 52
- },
- {
- "drilldown" : "007",
- "name" : "#007",
- "y" : 59
- },
- {
- "drilldown" : "008",
- "y" : 72,
- "name" : "#008"
- },
- {
- "drilldown" : "009",
- "name" : "#009",
- "y" : 68
- },
- {
- "y" : 60,
- "name" : "#010",
- "drilldown" : "010"
- },
- {
- "y" : 79,
- "name" : "#011",
- "drilldown" : "011"
- },
- {
- "drilldown" : "012",
- "name" : "#012",
- "y" : 83
- },
- {
- "drilldown" : "013",
- "y" : 76,
- "name" : "#013"
- },
- {
- "name" : "#014",
- "y" : 96,
- "drilldown" : "014"
- },
- {
- "name" : "#015",
- "y" : 93,
- "drilldown" : "015"
- },
- {
- "name" : "#016",
- "y" : 66,
- "drilldown" : "016"
- },
- {
- "y" : 79,
- "name" : "#017",
- "drilldown" : "017"
- },
- {
- "y" : 76,
- "name" : "#018",
- "drilldown" : "018"
- },
- {
- "drilldown" : "019",
- "name" : "#019",
- "y" : 97
- },
- {
- "drilldown" : "020",
- "name" : "#020",
- "y" : 95
- },
- {
- "y" : 67,
- "name" : "#021",
- "drilldown" : "021"
- },
- {
- "name" : "#022",
- "y" : 63,
- "drilldown" : "022"
- },
- {
- "drilldown" : "023",
- "y" : 91,
- "name" : "#023"
- },
- {
- "y" : 70,
- "name" : "#024",
- "drilldown" : "024"
- },
- {
- "drilldown" : "025",
- "y" : 55,
- "name" : "#025"
- },
- {
- "name" : "#026",
- "y" : 70,
- "drilldown" : "026"
- },
- {
- "drilldown" : "027",
- "y" : 58,
- "name" : "#027"
- },
- {
- "drilldown" : "028",
- "y" : 78,
- "name" : "#028"
- },
- {
- "y" : 77,
- "name" : "#029",
- "drilldown" : "029"
- },
- {
- "name" : "#030",
- "y" : 115,
- "drilldown" : "030"
- },
- {
- "name" : "#031",
- "y" : 87,
- "drilldown" : "031"
- },
- {
- "drilldown" : "032",
- "name" : "#032",
- "y" : 92
- },
- {
- "drilldown" : "033",
- "y" : 108,
- "name" : "#033"
- },
- {
- "drilldown" : "034",
- "y" : 62,
- "name" : "#034"
- },
- {
- "drilldown" : "035",
- "name" : "#035",
- "y" : 62
- },
- {
- "drilldown" : "036",
- "name" : "#036",
- "y" : 66
- },
- {
- "drilldown" : "037",
- "y" : 65,
- "name" : "#037"
- },
- {
- "drilldown" : "038",
- "y" : 65,
- "name" : "#038"
- },
- {
- "drilldown" : "039",
- "name" : "#039",
- "y" : 60
- },
- {
- "drilldown" : "040",
- "name" : "#040",
- "y" : 71
- },
- {
- "drilldown" : "041",
- "name" : "#041",
- "y" : 74
- },
- {
- "y" : 88,
- "name" : "#042",
- "drilldown" : "042"
- },
- {
- "y" : 66,
- "name" : "#043",
- "drilldown" : "043"
- },
- {
- "y" : 82,
- "name" : "#044",
- "drilldown" : "044"
- },
- {
- "name" : "#045",
- "y" : 94,
- "drilldown" : "045"
- },
- {
- "drilldown" : "046",
- "y" : 85,
- "name" : "#046"
- },
- {
- "y" : 82,
- "name" : "#047",
- "drilldown" : "047"
- },
- {
- "drilldown" : "048",
- "y" : 106,
- "name" : "#048"
- },
- {
- "y" : 85,
- "name" : "#049",
- "drilldown" : "049"
- },
- {
- "name" : "#050",
- "y" : 96,
- "drilldown" : "050"
- },
- {
- "drilldown" : "051",
- "y" : 87,
- "name" : "#051"
- },
- {
- "name" : "#052",
- "y" : 89,
- "drilldown" : "052"
- },
- {
- "name" : "#053",
- "y" : 99,
- "drilldown" : "053"
- },
- {
- "drilldown" : "054",
- "name" : "#054",
- "y" : 101
- },
- {
- "drilldown" : "055",
- "name" : "#055",
- "y" : 86
- },
- {
- "y" : 93,
- "name" : "#056",
- "drilldown" : "056"
- },
- {
- "name" : "#057",
- "y" : 78,
- "drilldown" : "057"
- },
- {
- "drilldown" : "058",
- "y" : 62,
- "name" : "#058"
- },
- {
- "drilldown" : "059",
- "name" : "#059",
- "y" : 82
- },
- {
- "drilldown" : "060",
- "name" : "#060",
- "y" : 78
- },
- {
- "drilldown" : "061",
- "name" : "#061",
- "y" : 79
- },
- {
- "y" : 54,
- "name" : "#062",
- "drilldown" : "062"
- },
- {
- "name" : "#063",
- "y" : 87,
- "drilldown" : "063"
- },
- {
- "drilldown" : "064",
- "name" : "#064",
- "y" : 76
- },
- {
- "y" : 71,
- "name" : "#065",
- "drilldown" : "065"
- },
- {
- "drilldown" : "066",
- "y" : 81,
- "name" : "#066"
- },
- {
- "name" : "#067",
- "y" : 87,
- "drilldown" : "067"
- },
- {
- "drilldown" : "068",
- "y" : 68,
- "name" : "#068"
- },
- {
- "y" : 78,
- "name" : "#069",
- "drilldown" : "069"
- },
- {
- "drilldown" : "070",
- "name" : "#070",
- "y" : 16
- }
- ]
- }
- ],
"subtitle" : {
- "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-07-20 10:25:23 GMT"
- },
- "title" : {
- "text" : "Perl Weekly Challenge Language"
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
+ "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-07-20 10:56:00 GMT"
},
"drilldown" : {
"series" : [
{
+ "name" : "001",
"data" : [
[
"Perl",
@@ -400,11 +32,9 @@
11
]
],
- "name" : "001",
"id" : "001"
},
{
- "name" : "002",
"id" : "002",
"data" : [
[
@@ -419,7 +49,8 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "002"
},
{
"name" : "003",
@@ -440,8 +71,8 @@
]
},
{
- "id" : "004",
"name" : "004",
+ "id" : "004",
"data" : [
[
"Perl",
@@ -458,7 +89,6 @@
]
},
{
- "name" : "005",
"id" : "005",
"data" : [
[
@@ -473,7 +103,8 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "005"
},
{
"data" : [
@@ -490,10 +121,11 @@
7
]
],
- "name" : "006",
- "id" : "006"
+ "id" : "006",
+ "name" : "006"
},
{
+ "id" : "007",
"data" : [
[
"Perl",
@@ -508,10 +140,10 @@
10
]
],
- "id" : "007",
"name" : "007"
},
{
+ "id" : "008",
"data" : [
[
"Perl",
@@ -526,8 +158,7 @@
12
]
],
- "name" : "008",
- "id" : "008"
+ "name" : "008"
},
{
"data" : [
@@ -544,12 +175,12 @@
13
]
],
- "name" : "009",
- "id" : "009"
+ "id" : "009",
+ "name" : "009"
},
{
- "id" : "010",
"name" : "010",
+ "id" : "010",
"data" : [
[
"Perl",
@@ -566,8 +197,8 @@
]
},
{
- "id" : "011",
"name" : "011",
+ "id" : "011",
"data" : [
[
"Perl",
@@ -584,7 +215,6 @@
]
},
{
- "id" : "012",
"name" : "012",
"data" : [
[
@@ -599,7 +229,8 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "012"
},
{
"data" : [
@@ -638,7 +269,6 @@
"name" : "014"
},
{
- "id" : "015",
"name" : "015",
"data" : [
[
@@ -653,9 +283,12 @@
"Blog",
15
]
- ]
+ ],
+ "id" : "015"
},
{
+ "name" : "016",
+ "id" : "016",
"data" : [
[
"Perl",
@@ -669,12 +302,9 @@
"Blog",
12
]
- ],
- "id" : "016",
- "name" : "016"
+ ]
},
{
- "name" : "017",
"id" : "017",
"data" : [
[
@@ -689,9 +319,11 @@
"Blog",
12
]
- ]
+ ],
+ "name" : "017"
},
{
+ "name" : "018",
"data" : [
[
"Perl",
@@ -706,10 +338,10 @@
14
]
],
- "id" : "018",
- "name" : "018"
+ "id" : "018"
},
{
+ "name" : "019",
"data" : [
[
"Perl",
@@ -724,8 +356,7 @@
13
]
],
- "id" : "019",
- "name" : "019"
+ "id" : "019"
},
{
"data" : [
@@ -746,8 +377,6 @@
"name" : "020"
},
{
- "name" : "021",
- "id" : "021",
"data" : [
[
"Perl",
@@ -761,9 +390,13 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "021",
+ "name" : "021"
},
{
+ "name" : "022",
+ "id" : "022",
"data" : [
[
"Perl",
@@ -777,11 +410,10 @@
"Blog",
10
]
- ],
- "name" : "022",
- "id" : "022"
+ ]
},
{
+ "id" : "023",
"data" : [
[
"Perl",
@@ -796,8 +428,7 @@
12
]
],
- "name" : "023",
- "id" : "023"
+ "name" : "023"