diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-12 16:50:37 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-07-12 16:50:37 +0100 |
| commit | 22c94384c158b8e0d01cc9285f60853b38d47d38 (patch) | |
| tree | 621b1a6dcdd8161c6a9faabbd0369db3dfa323ab | |
| parent | 146e406f4dae558451520495cd9fde2d561e7533 (diff) | |
| download | perlweeklychallenge-club-22c94384c158b8e0d01cc9285f60853b38d47d38.tar.gz perlweeklychallenge-club-22c94384c158b8e0d01cc9285f60853b38d47d38.tar.bz2 perlweeklychallenge-club-22c94384c158b8e0d01cc9285f60853b38d47d38.zip | |
- Added solutions by Arne Sommer.
23 files changed, 1736 insertions, 1299 deletions
diff --git a/challenge-068/arne-sommer/blog.txt b/challenge-068/arne-sommer/blog.txt new file mode 100644 index 0000000000..479effa9ab --- /dev/null +++ b/challenge-068/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/zero-order.html diff --git a/challenge-068/arne-sommer/perl/ch-1.pl b/challenge-068/arne-sommer/perl/ch-1.pl new file mode 100755 index 0000000000..f1e0ebb6e2 --- /dev/null +++ b/challenge-068/arne-sommer/perl/ch-1.pl @@ -0,0 +1,58 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; + +my $input = shift(@ARGV) || die "Please specify a matrix"; + +my @old; +my @new; + +my $cols; +my $rows = 0; + +for my $row (split(/\[/, $input)) +{ + next unless $row; + $row =~ tr/\]//d; + $row = $1 if $row =~ /^\s*(.*?)\s*$/; + my @values = split(/\s+/, $row); + + for (@values) { die "Only '0' and '1' please" unless $_ eq "0" || $_ eq "1"; } + + if (defined $cols) + { + die "Not the same number of elements in all the rows" unless $cols == @values; + } + else + { + $cols = @values; + } + + my @copy = @values; # As we use a reference in the «push». + + push(@old, \@values); + push(@new, \@copy); + $rows++; +} + +for my $row (0 .. $rows -1) +{ + for my $col (0 .. $cols -1) + { + if ($old[$row][$col] == 0) + { + for my $a (0 .. $rows-1) + { + $new[$row][$a] = 0; + } + + for my $b (0 .. $cols-1) + { + $new[$b][$col] = 0; + } + } + } +} + +say "[", join(", ", @{$_}), "]" for @new; diff --git a/challenge-068/arne-sommer/perl/ch-2.pl b/challenge-068/arne-sommer/perl/ch-2.pl new file mode 100755 index 0000000000..ad0d912980 --- /dev/null +++ b/challenge-068/arne-sommer/perl/ch-2.pl @@ -0,0 +1,15 @@ +#! /usr/bin/env perl + +use strict; +use List::SomeUtils qw/zip/; +use POSIX; +use feature 'say'; + +die "Please specify a list of values" unless @ARGV; + +my $last = $#ARGV; +my $half = ceil($last / 2 -1); +my @first = @ARGV[0 .. $half]; +my @second = reverse(@ARGV[$half+1 .. $last]); + +say join(" -> ", grep { defined $_ } zip(@first, @second)); diff --git a/challenge-068/arne-sommer/perl/reorder-list-perl b/challenge-068/arne-sommer/perl/reorder-list-perl new file mode 100755 index 0000000000..ad0d912980 --- /dev/null +++ b/challenge-068/arne-sommer/perl/reorder-list-perl @@ -0,0 +1,15 @@ +#! /usr/bin/env perl + +use strict; +use List::SomeUtils qw/zip/; +use POSIX; +use feature 'say'; + +die "Please specify a list of values" unless @ARGV; + +my $last = $#ARGV; +my $half = ceil($last / 2 -1); +my @first = @ARGV[0 .. $half]; +my @second = reverse(@ARGV[$half+1 .. $last]); + +say join(" -> ", grep { defined $_ } zip(@first, @second)); diff --git a/challenge-068/arne-sommer/perl/zero-matrix-perl b/challenge-068/arne-sommer/perl/zero-matrix-perl new file mode 100755 index 0000000000..ef8942a5f2 --- /dev/null +++ b/challenge-068/arne-sommer/perl/zero-matrix-perl @@ -0,0 +1,66 @@ +#! /usr/bin/env perl + +use strict; +use Math::GSL::Matrix; +use List::Util; +use feature 'say'; + +my $input = shift(@ARGV) || die "Please specify a matrix"; + +my @matrix; + +my $col_count; +my $row_count = 0; + +for my $row (split(/\[/, $input)) +{ + next unless $row; + $row =~ tr/\]//d; + $row = $1 if $row =~ /^\s*(.*?)\s*$/; + my @values = split(/\s+/, $row); + + die "Only '0' and '1' please" unless List::Util::all { $_ eq "0" || $_ eq "1" } @values; + + $col_count = List::Util::max($col_count, scalar @values); + + push(@matrix, \@values); + $row_count++; +} + +my $old = Math::GSL::Matrix->new($row_count, $col_count); + +$old->set_row($_, $matrix[$_]) for 0 .. $row_count -1; + +my $new = $old->copy; +my $rows = $old->rows(); + +my $columns = $old->cols(); + +for my $row (0 .. $rows -1) +{ + for my $column (0 .. $columns -1) + { + if ($old->get_elem($row, $column) == 0) + { + for my $a (0 .. $rows-1) + { + $new->set_elem($row, $a, 0); + } + + for my $b (0 .. $columns-1) + { + $new->set_elem($b, $column, 0); + } + } + } +} + +for my $row (0 .. $rows -1) +{ + my @values = (); + for my $column (0 .. $columns -1) + { + push(@values, $new->get_elem($row, $column)); + } + say "[", join(", ", @values), "]"; +} diff --git a/challenge-068/arne-sommer/perl/zero-matrix-perl-arrays b/challenge-068/arne-sommer/perl/zero-matrix-perl-arrays new file mode 100755 index 0000000000..79aa4b7ea9 --- /dev/null +++ b/challenge-068/arne-sommer/perl/zero-matrix-perl-arrays @@ -0,0 +1,67 @@ +#! /usr/bin/env perl + +use strict; +use List::Util; +use feature 'say'; + +my $input = shift(@ARGV) || die "Please specify a matrix"; + +my @old; +my @new; + +my $cols; +my $rows = 0; + +for my $row (split(/\[/, $input)) +{ + next unless $row; + $row =~ tr/\]//d; + $row = $1 if $row =~ /^\s*(.*?)\s*$/; + my @values = split(/\s+/, $row); + + die "Only '0' and '1' please" unless List::Util::all { $_ eq "0" || $_ eq "1" } @values; + + if (defined $cols) + { + die "Not the same number of elements in all the rows" unless $cols == @values; + } + else + { + $cols = @values; + } + + my @copy = @values; # As we use a reference in the «push». + + push(@old, \@values); + push(@new, \@copy); + $rows++; +} + +for my $row (0 .. $rows -1) +{ + for my $col (0 .. $cols -1) + { + if ($old[$row][$col] == 0) + { + for my $a (0 .. $rows-1) + { + $new[$row][$a] = 0; + } + + for my $b (0 .. $cols-1) + { + $new[$b][$col] = 0; + } + } + } +} + +for my $row (0 .. $rows -1) +{ + my @values = (); + for my $col (0 .. $cols -1) + { + push(@values, $new[$row][$col]); + } + say "[", join(", ", @values), "]"; +} diff --git a/challenge-068/arne-sommer/perl/zero-matrix-perl-arrays2 b/challenge-068/arne-sommer/perl/zero-matrix-perl-arrays2 new file mode 100755 index 0000000000..f1e0ebb6e2 --- /dev/null +++ b/challenge-068/arne-sommer/perl/zero-matrix-perl-arrays2 @@ -0,0 +1,58 @@ +#! /usr/bin/env perl + +use strict; +use feature 'say'; + +my $input = shift(@ARGV) || die "Please specify a matrix"; + +my @old; +my @new; + +my $cols; +my $rows = 0; + +for my $row (split(/\[/, $input)) +{ + next unless $row; + $row =~ tr/\]//d; + $row = $1 if $row =~ /^\s*(.*?)\s*$/; + my @values = split(/\s+/, $row); + + for (@values) { die "Only '0' and '1' please" unless $_ eq "0" || $_ eq "1"; } + + if (defined $cols) + { + die "Not the same number of elements in all the rows" unless $cols == @values; + } + else + { + $cols = @values; + } + + my @copy = @values; # As we use a reference in the «push». + + push(@old, \@values); + push(@new, \@copy); + $rows++; +} + +for my $row (0 .. $rows -1) +{ + for my $col (0 .. $cols -1) + { + if ($old[$row][$col] == 0) + { + for my $a (0 .. $rows-1) + { + $new[$row][$a] = 0; + } + + for my $b (0 .. $cols-1) + { + $new[$b][$col] = 0; + } + } + } +} + +say "[", join(", ", @{$_}), "]" for @new; diff --git a/challenge-068/arne-sommer/raku/ch-1.raku b/challenge-068/arne-sommer/raku/ch-1.raku new file mode 100755 index 0000000000..2a11f77f9e --- /dev/null +++ b/challenge-068/arne-sommer/raku/ch-1.raku @@ -0,0 +1,34 @@ +#! /usr/bin/env raku + +use Math::Matrix; + +unit sub MAIN (Str $original = "1 0 1 | 1 1 1 | 1 1 1", :$v, :$verbose = $v); + +my $str = $original.subst("\\n", "\n", :g) + .subst("|", "\n", :g) + .trans("," => ' ') + .subst(/ \] \s* \[ /, "\n", :g) + .trans("[]" => ''); + +die "Illegal field value $str (only '0' and '1')" unless all($str.words) eq any("0"|"1"); + +my $old = Math::Matrix.new($str); + +my $new = $old.clone; + +my ($rows, $columns) = $old.size; + +for ^$rows -> $row +{ + for ^$columns -> $column + { + if $old.element($row, $column) == 0 + { + say ": Found 0 at [row:$row, col:$column]" if $verbose; + $new.=multiply(row => $row, 0); + $new.=multiply(column => $column, 0); + } + } +} + +say "[{ @($_).join(", ") }]" for $new.list-rows;
\ No newline at end of file diff --git a/challenge-068/arne-sommer/raku/ch-2.raku b/challenge-068/arne-sommer/raku/ch-2.raku new file mode 100755 index 0000000000..9ea066bdac --- /dev/null +++ b/challenge-068/arne-sommer/raku/ch-2.raku @@ -0,0 +1,16 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@list, :$v, :$verbose = $v); + +my $half = (@list.elems / 2 -1).ceiling; + +if $verbose +{ + say ": Halfway point: Index: $half, value: @list[$half]"; + say ": From the start: ", @list[0..$half]; + say ": From the end: ", @list[$half +1 .. *].reverse; + # say ": From the end: ", @list[*-1 ... $half +1]; +} + +say (roundrobin @list[0..$half], @list[$half +1 .. *].reverse).flat.join(" -> "); + diff --git a/challenge-068/arne-sommer/raku/reorder-list b/challenge-068/arne-sommer/raku/reorder-list new file mode 100755 index 0000000000..9ea066bdac --- /dev/null +++ b/challenge-068/arne-sommer/raku/reorder-list @@ -0,0 +1,16 @@ +#! /usr/bin/env raku + +unit sub MAIN (*@list, :$v, :$verbose = $v); + +my $half = (@list.elems / 2 -1).ceiling; + +if $verbose +{ + say ": Halfway point: Index: $half, value: @list[$half]"; + say ": From the start: ", @list[0..$half]; + say ": From the end: ", @list[$half +1 .. *].reverse; + # say ": From the end: ", @list[*-1 ... $half +1]; +} + +say (roundrobin @list[0..$half], @list[$half +1 .. *].reverse).flat.join(" -> "); + diff --git a/challenge-068/arne-sommer/raku/zero-matrix b/challenge-068/arne-sommer/raku/zero-matrix new file mode 100755 index 0000000000..2a11f77f9e --- /dev/null +++ b/challenge-068/arne-sommer/raku/zero-matrix @@ -0,0 +1,34 @@ +#! /usr/bin/env raku + +use Math::Matrix; + +unit sub MAIN (Str $original = "1 0 1 | 1 1 1 | 1 1 1", :$v, :$verbose = $v); + +my $str = $original.subst("\\n", "\n", :g) + .subst("|", "\n", :g) + .trans("," => ' ') + .subst(/ \] \s* \[ /, "\n", :g) + .trans("[]" => ''); + +die "Illegal field value $str (only '0' and '1')" unless all($str.words) eq any("0"|"1"); + +my $old = Math::Matrix.new($str); + +my $new = $old.clone; + +my ($rows, $columns) = $old.size; + +for ^$rows -> $row +{ + for ^$columns -> $column + { + if $old.element($row, $column) == 0 + { + say ": Found 0 at [row:$row, col:$column]" if $verbose; + $new.=multiply(row => $row, 0); + $new.=multiply(column => $column, 0); + } + } +} + +say "[{ @($_).join(", ") }]" for $new.list-rows;
\ No newline at end of file diff --git a/challenge-068/arne-sommer/raku/zero-matrix-simple b/challenge-068/arne-sommer/raku/zero-matrix-simple new file mode 100755 index 0000000000..a16115cb7c --- /dev/null +++ b/challenge-068/arne-sommer/raku/zero-matrix-simple @@ -0,0 +1,34 @@ +#! /usr/bin/env raku + +use Math::Matrix; + +unit sub MAIN (Str $original = "1 0 1 | 1 1 1 | 1 1 1", :$v, :$verbose = $v); + +my $str = $original.subst("\\n", "\n", :g) + .subst("|", "\n", :g) + .trans("," => ' ') + .subst(/ \] \s* \[ /, "\n", :g) + .trans("[]" => ''); + +die "Illegal field value $str (only '0' and '1')" unless all($str.words) eq any("0"|"1"); + +my $old = Math::Matrix.new($str); + +my $new = $old.clone; + +my ($rows, $columns) = $old.size; + +for ^$rows -> $row +{ + for ^$columns -> $column + { + if $old.element($row, $column) == 0 + { + say ": Found 0 at [row:$row, col:$column]" if $verbose; + $new.=multiply(row => $row, 0); + $new.=multiply(column => $column, 0); + } + } +} + +say $new;
\ No newline at end of file diff --git a/stats/pwc-current.json b/stats/pwc-current.json index b6b8aa3390..2570ed8b06 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,12 +1,141 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "series" : [ + { + "data" : [ + { + "y" : 2, + "name" : "Andrew Shitov", + "drilldown" : "Andrew Shitov" + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 5 + }, + { + "drilldown" : "Bartosz Jarzyna", + "name" : "Bartosz Jarzyna", + "y" : 2 + }, + { + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung", + "y" : 1 + }, + { + "drilldown" : "Colin Crain", + "name" : "Colin Crain", + "y" : 5 + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "y" : 5, + "drilldown" : "Javier Luque", + "name" : "Javier Luque" + }, + { + "y" : 2, + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 4 + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 1 + }, + { + "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar", + "y" : 4 + }, + { + "drilldown" : "Myoungjin Jeon", + "name" : "Myoungjin Jeon", + "y" : 2 + }, + { + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke", + "y" : 2 + }, + { + "y" : 2, + "name" : "Noud Aldenhoven", + "drilldown" : "Noud Aldenhoven" + }, + { + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", + "y" : 3 + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 2 + }, + { + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor", + "y" : 2 + }, + { + "y" : 3, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { + "name" : "Walt Mankowski", + "drilldown" : "Walt Mankowski", + "y" : 2 + }, + { + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc", + "y" : 2 + } + ], + "name" : "Perl Weekly Challenge - 068", + "colorByPoint" : 1 } + ], + "tooltip" : { + "followPointer" : 1, + "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/>" + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "Perl Weekly Challenge - 068" }, "legend" : { "enabled" : 0 }, + "subtitle" : { + "text" : "[Champions: 20] Last updated at 2020-07-12 15:50:15 GMT" + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } + }, "drilldown" : { "series" : [ { @@ -24,27 +153,44 @@ "id" : "Andrew Shitov" }, { + "id" : "Arne Sommer", "data" : [ [ "Perl", 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 ] ], - "name" : "Bartosz Jarzyna", - "id" : "Bartosz Jarzyna" + "name" : "Arne Sommer" }, { - "name" : "Cheok-Yin Fung", + "id" : "Bartosz Jarzyna", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Bartosz Jarzyna" + }, + { + "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 1 ] ], - "id" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung" }, { - "id" : "Colin Crain", "name" : "Colin Crain", "data" : [ [ @@ -59,19 +205,21 @@ "Blog", 1 ] - ] + ], + "id" : "Colin Crain" }, { "id" : "E. Choroba", - "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "E. Choroba" }, { + "id" : "Javier Luque", "data" : [ [ "Perl", @@ -86,21 +234,19 @@ 1 ] ], - "name" : "Javier Luque", - "id" : "Javier Luque" + "name" : "Javier Luque" }, { - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" }, { - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -111,17 +257,18 @@ 2 ] ], + "name" : "Luca Ferrari", "id" : "Luca Ferrari" }, { + "id" : "Mark Anderson", "data" : [ [ "Raku", 1 ] ], - "name" : "Mark Anderson", - "id" : "Mark Anderson" + "name" : "Mark Anderson" }, { "data" : [ @@ -134,40 +281,41 @@ 2 ] ], - "name" : "Mohammad S Anwar", - "id" : "Mohammad S Anwar" + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar" }, { - "name" : "Myoungjin Jeon", "data" : [ [ "Perl", 2 ] ], + "name" : "Myoungjin Jeon", "id" : "Myoungjin Jeon" }, { + "name" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] ], - "name" : "Niels van Dijke", "id" : "Niels van Dijke" }, { - "id" : "Noud Aldenhoven", "name" : "Noud Aldenhoven", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Noud Aldenhoven" }, { + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -178,48 +326,47 @@ 1 ] ], - "name" : "Roger Bell_West", - "id" : "Roger Bell_West" + "name" : "Roger Bell_West" }, { - "name" : "Simon Green", "data" : [ [ "Perl", 2 ] ], + "name" : "Simon Green", "id" : "Simon Green" }, { - "name" : "Simon Proctor", + "id" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "id" : "Simon Proctor" + "name" : "Simon Proctor" }, { - "id" : "Ulrich Rieke", "data" : [ [ "Raku", 3 ] ], - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { - "id" : "Walt Mankowski", "name" : "Walt Mankowski", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Walt Mankowski" }, { "name" : "Wanderdoc", @@ -233,133 +380,9 @@ } ] }, - "xAxis" : { - "type" : "category" - }, - "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/>" - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "Perl Weekly Challenge - 068", - "data" : [ - { - "y" : 2, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { - "y" : 2, - "name" : "Bartosz Jarzyna", - "drilldown" : "Bartosz Jarzyna" - }, - { - "drilldown" : "Cheok-Yin Fung", - "name" : "Cheok-Yin Fung", - "y" : 1 - }, - { - "drilldown" : "Colin Crain", - "y" : 5, - "name" : "Colin Crain" - }, - { - "y" : 2, - "name" : "E. Choroba", - "drilldown" : "E. Choroba" - }, - { - "drilldown" : "Javier Luque", - "name" : "Javier Luque", - "y" : 5 - }, - { - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey", - "y" : 2 - }, - { - "name" : "Luca Ferrari", - "y" : 4, - "drilldown" : "Luca Ferrari" - }, - { - "drilldown" : "Mark Anderson", - "y" : 1, - "name" : "Mark Anderson" - }, - { - "drilldown" : "Mohammad S Anwar", - "y" : 4, - "name" : "Mohammad S Anwar" - }, - { - "drilldown" : "Myoungjin Jeon", - "name" : "Myoungjin Jeon", - "y" : 2 - }, - { - "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" - }, - { - "drilldown" : "Noud Aldenhoven", - "name" : "Noud Aldenhoven", - "y" : 2 - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 3 - }, - { - "drilldown" : "Simon Green", - "y" : 2, - "name" : "Simon Green" - }, - { - "name" : "Simon Proctor", - "y" : 2, - "drilldown" : "Simon Proctor" - }, - { - "y" : 3, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "name" : "Walt Mankowski", - "y" : 2, - "drilldown" : "Walt Mankowski" - }, - { - "drilldown" : "Wanderdoc", - "name" : "Wanderdoc", - "y" : 2 - } - ] - } - ], - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "[Champions: 19] Last updated at 2020-07-12 14:56:47 GMT" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 + "yAxis" : { + "title" : { + "text" : "Total Solutions" } - }, - "title" : { - "text" : "Perl Weekly Challenge - 068" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index f0e30dee87..434114f608 100644 --- a/stats/pwc-language-bre |
