diff options
| -rw-r--r-- | challenge-058/javier-luque/blog.txt | 1 | ||||
| -rw-r--r-- | challenge-058/javier-luque/perl/ch-1.pl | 53 | ||||
| -rw-r--r-- | challenge-058/javier-luque/perl/ch-2.pl | 45 | ||||
| -rw-r--r-- | challenge-058/javier-luque/raku/ch-1.p6 | 44 | ||||
| -rw-r--r-- | challenge-058/javier-luque/raku/ch-2.p6 | 43 | ||||
| -rw-r--r-- | stats/pwc-current.json | 103 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 62 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 422 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 408 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 68 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 48 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 44 |
16 files changed, 898 insertions, 689 deletions
diff --git a/challenge-058/javier-luque/blog.txt b/challenge-058/javier-luque/blog.txt new file mode 100644 index 0000000000..1571c67331 --- /dev/null +++ b/challenge-058/javier-luque/blog.txt @@ -0,0 +1 @@ +https://perlchallenges.wordpress.com/2020/04/27/perl-weekly-challenge-058/ diff --git a/challenge-058/javier-luque/perl/ch-1.pl b/challenge-058/javier-luque/perl/ch-1.pl new file mode 100644 index 0000000000..e2c71955e0 --- /dev/null +++ b/challenge-058/javier-luque/perl/ch-1.pl @@ -0,0 +1,53 @@ +#!/usr/bin/perl +# Test: ./ch-1.pl +use strict; +use warnings; +use feature qw /say/; +use version; +use Data::Dumper; + +say ' v1 v2 Result'; +say '------ ------ ------'; +say '0.1 < 1.1 ' . compare('0.1','1.1'); +say '2.0 > 1.2 ' . compare('2.0','1.2'); +say '1.2 < 1.2_5 ' . compare('1.2','1.2_5'); +say '1.2.1 > 1.2_1 ' . compare('1.2.1','1.2_1'); +say '1.2.1 = 1.2.1 ' . compare('1.2.1','1.2.1'); +say '1_0 > 1 ' . compare('1_0','1'); +say '10 > 1.0 ' . compare('10','1.0'); +say '1.1.1 < 1.2.1 ' . compare('1.1.1','1.2.1'); + +sub compare { + my ($v1, $v2) = @_; + + # Split into digits or alpha + my ($v1_d, $v1_a) = parse($v1); + my ($v2_d, $v2_a) = parse($v2); + + while (scalar(@$v1_d) || scalar(@$v2_d) ) { + my $d1 = shift(@$v1_d); + my $d2 = shift(@$v2_d); + return 0 if (!defined($d1) && !defined($d2)); + return 1 if (defined($d1) && !defined($d2)); + return -1 if (!defined($d1) && defined($d2)); + return 1 if ($d1 > $d2); + return -1 if ($d1 < $d2); + } + + return 0 if (!defined($v1_a) && !defined($v2_a)); + return 1 if (defined($v1_a) && !defined($v2_a)); + return -1 if (!defined($v1_a) && defined($v2_a)); + + return ($v1_a > $v2_a) ? 1 : + ($v1_a < $v2_a) ? -1 : 0; +} + +sub parse { + my $version = shift; + + my @digits = split('\.', $version); + my ($last_digit, $alpha) = split('_', pop(@digits)); + push @digits, $last_digit; + + return \@digits, $alpha; +} diff --git a/challenge-058/javier-luque/perl/ch-2.pl b/challenge-058/javier-luque/perl/ch-2.pl new file mode 100644 index 0000000000..9ba37fce34 --- /dev/null +++ b/challenge-058/javier-luque/perl/ch-2.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl +# Test: ./ch-2.pl + +use strict; +use warnings; +use feature qw /say/; + +# Heights +my @H = (27, 21, 37, 4, 19, 52, 23, 64, + 1, 7, 51, 17, 24, 50, 3, 2, + 34, 40, 47, 20, 8, 56, 14, 16, + 42, 38, 62, 53, 31, 41, 55, 59, + 48, 12, 32, 61, 9, 60, 46, 26, + 58, 25, 15, 36, 11, 44, 63, 28, + 5, 54, 10, 49, 57, 30, 29, 22, + 35, 39, 45, 43, 18, 6, 13, 33); + +# Number taller people in front +my @T = ( 6, 41, 1, 49, 38, 12, 1, 0, + 58, 47, 4, 17, 26, 1, 61, 12, + 29, 3, 4, 11, 45, 1, 32, 5, + 9, 19, 1, 4, 28, 12, 2, 2, + 13, 18, 19, 3, 4, 1, 10, 16, + 4, 3, 29, 5, 49, 1, 1, 24, + 2, 1, 38, 7, 7, 14, 35, 25, + 0, 5, 4, 19, 10, 13, 4, 12); + +# Easier to access taller people in front; +my %data; +@data{@H} = @T; + +# sort +@H = sort { $a <=> $b } @H; + +# Process answers +my @answers; +for my $h (@H) { + my $index = $data{$h}; + for (my $i = 0; $i <= $index; $i++) { + $index++ if (defined($answers[$i])); + } + $answers[$index] = $h; +} + +say '[' . (join ', ', @answers) . ']'; diff --git a/challenge-058/javier-luque/raku/ch-1.p6 b/challenge-058/javier-luque/raku/ch-1.p6 new file mode 100644 index 0000000000..050213fa9f --- /dev/null +++ b/challenge-058/javier-luque/raku/ch-1.p6 @@ -0,0 +1,44 @@ +# Test: perl6 ch-1.p6 +sub MAIN() { + say ' v1 v2 Result'; + say '------ ------ ------'; + say '0.1 < 1.1 ' ~ compare('0.1','1.1'); + say '2.0 > 1.2 ' ~ compare('2.0','1.2'); + say '1.2 < 1.2_5 ' ~ compare('1.2','1.2_5'); + say '1.2.1 > 1.2_1 ' ~ compare('1.2.1','1.2_1'); + say '1.2.1 = 1.2.1 ' ~ compare('1.2.1','1.2.1'); + say '1_0 > 1 ' ~ compare('1_0','1'); + say '10 > 1.0 ' ~ compare('10','1.0'); + say '1.1.1 < 1.2.1 ' ~ compare('1.1.1','1.2.1'); + + sub compare(Str $v1, Str $v2) { + my ($v1_d, $v1_a) = parse($v1); + my ($v2_d, $v2_a) = parse($v2); + + while ($v1_d.elems || $v2_d.elems ) { + my $d1 = $v1_d.shift; + my $d2 = $v2_d.shift; + + return 0 if (!defined($d1) && !defined($d2)); + return 1 if (defined($d1) && !defined($d2)); + return -1 if (!defined($d1) && defined($d2)); + return 1 if ($d1 > $d2); + return -1 if ($d1 < $d2); + } + + return 0 if (!defined($v1_a) && !defined($v2_a)); + return 1 if (defined($v1_a) && !defined($v2_a)); + return -1 if (!defined($v1_a) && defined($v2_a)); + + return ($v1_a > $v2_a) ?? 1 !! + ($v1_a < $v2_a) ?? -1 !! 0; + } + + sub parse(Str $version) { + my @digits = $version.split('.'); + my ($last_digit, $alpha) = @digits.pop.split('_'); + @digits.push($last_digit); + + return @digits, $alpha; + } +} diff --git a/challenge-058/javier-luque/raku/ch-2.p6 b/challenge-058/javier-luque/raku/ch-2.p6 new file mode 100644 index 0000000000..58d035f322 --- /dev/null +++ b/challenge-058/javier-luque/raku/ch-2.p6 @@ -0,0 +1,43 @@ +# Test: perl6 ch-2.p6 +sub MAIN() { + # Heights + my @H = (27, 21, 37, 4, 19, 52, 23, 64, + 1, 7, 51, 17, 24, 50, 3, 2, + 34, 40, 47, 20, 8, 56, 14, 16, + 42, 38, 62, 53, 31, 41, 55, 59, + 48, 12, 32, 61, 9, 60, 46, 26, + 58, 25, 15, 36, 11, 44, 63, 28, + 5, 54, 10, 49, 57, 30, 29, 22, + 35, 39, 45, 43, 18, 6, 13, 33); + + # Number taller people in front + my @T = ( 6, 41, 1, 49, 38, 12, 1, 0, + 58, 47, 4, 17, 26, 1, 61, 12, + 29, 3, 4, 11, 45, 1, 32, 5, + 9, 19, 1, 4, 28, 12, 2, 2, + 13, 18, 19, 3, 4, 1, 10, 16, + 4, 3, 29, 5, 49, 1, 1, 24, + 2, 1, 38, 7, 7, 14, 35, 25, + 0, 5, 4, 19, 10, 13, 4, 12); + + # Easier to index taller people in front; + my %data; + for ^@H.elems -> $i { + %data{@H[$i]} = @T[$i]; + } + + # Sort the height + @H = @H.sort; + + # Process answers + my @answers; + for (@H) -> $h { + my $index = %data{$h}; + loop (my $i = 0; $i <= $index; $i++) { + $index++ if (@answers[$i]); + } + @answers[$index] = $h; + } + + say @answers.perl; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 7d90fe36e7..ebeab5d956 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,59 +1,87 @@ { - "title" : { - "text" : "Perl Weekly Challenge - 058" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } }, "chart" : { "type" : "column" }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "Perl Weekly Challenge - 058" + }, + "subtitle" : { + "text" : "[Champions: 4] Last updated at 2020-04-27 20:59:32 GMT" + }, + "tooltip" : { + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : 1 + }, "series" : [ { "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 058", "data" : [ { + "y" : 5, + "drilldown" : "Javier Luque", + "name" : "Javier Luque" + }, + { "y" : 4, - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari" }, { - "drilldown" : "Wanderdoc", "name" : "Wanderdoc", + "drilldown" : "Wanderdoc", "y" : 2 }, { - "name" : "Yet Ebreo", "drilldown" : "Yet Ebreo", + "name" : "Yet Ebreo", "y" : 2 } - ], - "name" : "Perl Weekly Challenge - 058" + ] } ], - "legend" : { - "enabled" : 0 - }, - "subtitle" : { - "text" : "[Champions: 3] Last updated at 2020-04-27 20:50:44 GMT" - }, - "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 - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { + "name" : "Javier Luque", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Javier Luque" + }, + { "name" : "Luca Ferrari", "id" : "Luca Ferrari", "data" : [ @@ -68,30 +96,25 @@ ] }, { + "name" : "Wanderdoc", "id" : "Wanderdoc", "data" : [ [ "Perl", 2 ] - ], - "name" : "Wanderdoc" + ] }, { + "name" : "Yet Ebreo", "data" : [ [ "Perl", 2 ] ], - "id" : "Yet Ebreo", - "name" : "Yet Ebreo" + "id" : "Yet Ebreo" } ] - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index dfab4e8add..5bac094b99 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,62 +2,62 @@ "chart" : { "type" : "column" }, - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, "subtitle" : { - "text" : "Last updated at 2020-04-27 20:50:44 GMT" + "text" : "Last updated at 2020-04-27 20:59:32 GMT" }, "legend" : { "enabled" : "false" }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, "series" : [ { "name" : "Contributions", "dataLabels" : { - "enabled" : "true", - "format" : "{point.y:.0f}", - "rotation" : -90, "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" }, - "align" : "right", "color" : "#FFFFFF", - "y" : 10 + "align" : "right", + "y" : 10, + "format" : "{point.y:.0f}", + "rotation" : -90, + "enabled" : "true" }, "data" : [ [ "Blog", - 644 + 645 ], [ "Perl", - 2431 + 2433 ], [ "Raku", - 1520 + 1522 ] ] } ], - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 - }, - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } - } + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 0c3a054eb5..49cc773918 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,6 +1,41 @@ { + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : "false" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "title" : { + "text" : "Perl Weekly Challenge Language" + }, + "xAxis" : { + "type" : "category" + }, + "subtitle" : { + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-04-27 20:59:32 GMT" + }, + "tooltip" : { + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "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" : [ { @@ -9,14 +44,14 @@ "y" : 140 }, { - "y" : 109, + "drilldown" : "002", "name" : "#002", - "drilldown" : "002" + "y" : 109 }, { - "drilldown" : "003", + "y" : 71, "name" : "#003", - "y" : 71 + "drilldown" : "003" }, { "y" : 91, @@ -30,18 +65,18 @@ }, { "y" : 52, - "name" : "#006", - "drilldown" : "006" + "drilldown" : "006", + "name" : "#006" }, { - "y" : 58, + "name" : "#007", "drilldown" : "007", - "name" : "#007" + "y" : 58 }, { - "y" : 70, "drilldown" : "008", - "name" : "#008" + "name" : "#008", + "y" : 70 }, { "y" : 68, @@ -50,8 +85,8 @@ }, { "y" : 60, - "name" : "#010", - "drilldown" : "010" + "drilldown" : "010", + "name" : "#010" }, { "name" : "#011", @@ -69,39 +104,39 @@ "y" : 76 }, { + "y" : 96, "name" : "#014", - "drilldown" : "014", - "y" : 96 + "drilldown" : "014" }, { - "drilldown" : "015", + "y" : 93, "name" : "#015", - "y" : 93 + "drilldown" : "015" }, { "y" : 66, - "drilldown" : "016", - "name" : "#016" + "name" : "#016", + "drilldown" : "016" }, { - "y" : 79, + "name" : "#017", "drilldown" : "017", - "name" : "#017" + "y" : 79 }, { - "drilldown" : "018", "name" : "#018", + "drilldown" : "018", "y" : 76 }, { + "y" : 97, "drilldown" : "019", - "name" : "#019", - "y" : 97 + "name" : "#019" }, { + "y" : 95, "drilldown" : "020", - "name" : "#020", - "y" : 95 + "name" : "#020" }, { "drilldown" : "021", @@ -109,14 +144,14 @@ "y" : 67 }, { - "name" : "#022", + "y" : 63, "drilldown" : "022", - "y" : 63 + "name" : "#022" }, { - "y" : 91, + "drilldown" : "023", "name" : "#023", - "drilldown" : "023" + "y" : 91 }, { "drilldown" : "024", @@ -129,9 +164,9 @@ "y" : 55 }, { - "drilldown" : "026", + "y" : 70, "name" : "#026", - "y" : 70 + "drilldown" : "026" }, { "y" : 58, @@ -139,49 +174,49 @@ "drilldown" : "027" }, { + "y" : 78, "drilldown" : "028", - "name" : "#028", - "y" : 78 + "name" : "#028" }, { - "drilldown" : "029", + "y" : 77, "name" : "#029", - "y" : 77 + "drilldown" : "029" }, { + "y" : 115, "name" : "#030", - "drilldown" : "030", - "y" : 115 + "drilldown" : "030" }, { - "y" : 87, + "drilldown" : "031", "name" : "#031", - "drilldown" : "031" + "y" : 87 }, { "y" : 92, - "drilldown" : "032", - "name" : "#032" + "name" : "#032", + "drilldown" : "032" }, { - "y" : 108, + "drilldown" : "033", "name" : "#033", - "drilldown" : "033" + "y" : 108 }, { - "y" : 62, "name" : "#034", - "drilldown" : "034" + "drilldown" : "034", + "y" : 62 }, { "y" : 62, - "name" : "#035", - "drilldown" : "035" + "drilldown" : "035", + "name" : "#035" }, { - "y" : 66, + "name" : "#036", "drilldown" : "036", - "name" : "#036" + "y" : 66 }, { "y" : 63, @@ -189,9 +224,9 @@ "drilldown" : "037" }, { + "y" : 65, "name" : "#038", - "drilldown" : "038", - "y" : 65 + "drilldown" : "038" }, { "drilldown" : "039", @@ -204,19 +239,19 @@ "y" : 71 }, { - "y" : 74, "drilldown" : "041", - "name" : "#041" + "name" : "#041", + "y" : 74 }, { - "drilldown" : "042", "name" : "#042", + "drilldown" : "042", "y" : 88 }, { + "y" : 65, "drilldown" : "043", - "name" : "#043", - "y" : 65 + "name" : "#043" }, { "y" : 81, @@ -224,9 +259,9 @@ "name" : "#044" }, { + "y" : 94, "drilldown" : "045", - "name" : "#045", - "y" : 94 + "name" : "#045" }, { "y" : 83, @@ -235,101 +270,70 @@ }, { "y" : 81, - "name" : "#047", - "drilldown" : "047" + "drilldown" : "047", + "name" : "#047" }, { - "y" : 106, + "name" : "#048", "drilldown" : "048", - "name" : "#048" + "y" : 106 }, { "y" : 85, - "name" : "#049", - "drilldown" : "049" + "drilldown" : "049", + "name" : "#049" }, { - "drilldown" : "050", + "y" : 96, "name" : "#050", - "y" : 96 + "drilldown" : "050" }, { "y" : 87, - "drilldown" : "051", - "name" : "#051" + "name" : "#051", + "drilldown" : "051" }, { - "name" : "#052", "drilldown" : "052", + "name" : "#052", "y" : 89 }, { "y" : 99, - "name" : "#053", - "drilldown" : "053" + "drilldown" : "053", + "name" : "#053" }, { - "y" : 97, "name" : "#054", - "drilldown" : "054" + "drilldown" : "054", + "y" : 97 }, { "y" : 86, - "name" : "#055", - "drilldown" : "055" + "drilldown" : "055", + "name" : "#055" }, { - "drilldown" : "056", + "y" : 91, "name" : "#056", - "y" : 91 + "drilldown" : "056" }, { - "y" : 75, "drilldown" : "057", - "name" : "#057" + "name" : "#057", + "y" : 75 }, { - "y" : 8, "drilldown" : "058", - "name" : "#058" + "name" : "#058", + "y" : 13 } - ], - "colorByPoint" : "true" + ] } ], - "legend" : { - "enabled" : "false" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2020-04-27 20:50:44 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - }, - "borderWidth" : 0 - } - }, - "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>" - }, - "title" : { - "text" : "Perl Weekly Challenge Language" - }, - "chart" : { - "type" : "column" - }, - "xAxis" : { - "type" : "category" - }, "drilldown" : { "series" : [ { - "name" : "001", "data" : [ [ "Perl", @@ -344,10 +348,11 @@ 11 ] ], - "id" : "001" + "id" : "001", + "name" : "001" }, { - "name" : "002", + "id" : "002", "data" : [ [ "Perl", @@ -362,10 +367,9 @@ 10 ] ], - "id" : "002" + "name" : "002" }, { - "name" : "003", "data" : [ [ "Perl", @@ -380,11 +384,11 @@ 9 ] ], - "id" : "003" + "id" : "003", + "name" : "003" }, { "name" : "004", - "id" : "004", "data" : [ [ "Perl", @@ -398,10 +402,12 @@ "Blog", 10 ] - ] + ], + "id" : "004" }, { "name" : "005", + "id" : "005", "data" : [ [ "Perl", @@ -415,10 +421,11 @@ "Blog", 12 ] - ], - "id" : "005" + ] }, { + "name" : "006", + "id" : "006", "data" : [ [ "Perl", @@ -432,11 +439,10 @@ "Blog", 7 ] - ], - "id" : "006", - "name" : "006" + ] }, { + "id" : "007", "data" : [ [ "Perl", @@ -451,10 +457,11 @@ 10 ] ], - "id" : "007", "name" : "007" }, { + "name" : "008", + "id" : "008", "data" : [ [ "Perl", @@ -468,11 +475,10 @@ "Blog", 12 ] - ], - "id" : "008", - "name" : "008" + ] }, { + "name" : "009", "id" : "009", "data" : [ [ @@ -487,10 +493,11 @@ "Blog", 13 ] - ], - "name" : "009" + ] }, { + "name" : "010", + "id" : "010", "data" : [ [ "Perl", @@ -504,9 +511,7 @@ "Blog", 11 ] - ], - "id" : "010", - "name" : "010" + ] }, { "name" : "011", @@ -527,7 +532,7 @@ ] }, { - "name" : "012", + "id" : "012", "data" : [ [ "Perl", @@ -542,7 +547,7 @@ 11 ] ], - "id" : "012" + "name" : "012" }, { "name" : "013", @@ -563,6 +568,7 @@ "id" : "013" }, { + "name" : "014", "id" : "014", "data" : [ [ @@ -577,8 +583,7 @@ "Blog", 15 ] - ], - "name" : "014" + ] }, { "data" : [ @@ -599,7 +604,6 @@ "name" : "015" }, { - "id" : "016", "data" : [ [ "Perl", @@ -614,6 +618,7 @@ 12 ] ], + "id" : "016", "name" : "016" }, { @@ -635,7 +640,7 @@ "name" : "017" }, { - "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -650,10 +655,9 @@ 14 ] ], - "name" : "018" + "id" : "018" }, { |
