diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-04-18 20:20:03 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-04-18 20:20:03 +0100 |
| commit | ec3eb82c6fbf7b795c2646713b23538127571937 (patch) | |
| tree | 443be57b24eb2394bcb159e3e896a6a65d8f2dd0 | |
| parent | 2005e6fc7cd50af32a06e25d8829f925b14cd1e3 (diff) | |
| download | perlweeklychallenge-club-ec3eb82c6fbf7b795c2646713b23538127571937.tar.gz perlweeklychallenge-club-ec3eb82c6fbf7b795c2646713b23538127571937.tar.bz2 perlweeklychallenge-club-ec3eb82c6fbf7b795c2646713b23538127571937.zip | |
- Added solutions by Mark Anderson.
- Added solutions by Leo Manfredi.
- Added solutions by W. Luis Mochan.
- Added solutions by Niels van Dijke.
- Added solutions by Luca Ferrari.
- Added solutions by Laurent Rosenfeld.
- Added solutions by Robert DiCicco.
29 files changed, 2784 insertions, 2172 deletions
diff --git a/challenge-213/eric-cheung/python/ch-1.py b/challenge-213/eric-cheung/python/ch-1.py new file mode 100755 index 0000000000..84012d3bd2 --- /dev/null +++ b/challenge-213/eric-cheung/python/ch-1.py @@ -0,0 +1,21 @@ +
+## arrListInput = [1, 2, 3, 4, 5, 6] ## Example 1
+## arrListInput = [1, 2] ## Example 2
+arrListInput = [1] ## Example 3
+
+arrListOutput = []
+
+if len(arrListInput) > 1:
+ arrListInput.sort()
+
+ for nElem in arrListInput:
+ if nElem % 2 == 0:
+ arrListOutput.append(nElem)
+
+ for nElem in arrListInput:
+ if nElem % 2 == 1:
+ arrListOutput.append(nElem)
+else:
+ arrListOutput = arrListInput
+
+print (arrListOutput)
diff --git a/challenge-213/eric-cheung/python/ch-2.py b/challenge-213/eric-cheung/python/ch-2.py new file mode 100755 index 0000000000..05dfcf5909 --- /dev/null +++ b/challenge-213/eric-cheung/python/ch-2.py @@ -0,0 +1,157 @@ +
+## Example 1:
+## arrInputRouteList = [[1, 2, 6], [5, 6, 7]]
+## nSource = 1
+## nDestination = 7
+
+## Example 2:
+## arrInputRouteList = [[1, 2, 3], [4, 5, 6]]
+## nSource = 2
+## nDestination = 5
+
+## Example 3:
+arrInputRouteList = [[1, 2, 3], [4, 5, 6], [3, 8, 9], [7, 8]]
+nSource = 1
+nDestination = 7
+
+nSourceIndx = -1
+nDestinationIndx = -1
+
+arrOutputRouteList = []
+
+for nIndx, arrLoop in enumerate(arrInputRouteList):
+ if nSource in arrLoop:
+ nSourceIndx = nIndx
+ elif nDestination in arrLoop:
+ nDestinationIndx = nIndx
+
+## print (nSourceIndx)
+## print (nDestinationIndx)
+
+if nSourceIndx < 0 or nDestinationIndx < 0:
+ print (-1)
+elif nSourceIndx == nDestinationIndx:
+ nStartIndx = arrInputRouteList[nSourceIndx].index(nSource)
+ nEndIndx = arrInputRouteList[nDestinationIndx].index(nDestination)
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx - 1, -1):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx + 1):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+elif len(arrInputRouteList) <= 2:
+ ## Check Intersection
+ arrIntersection = [nElem for nElem in arrInputRouteList[nSourceIndx] if nElem in arrInputRouteList[nDestinationIndx]]
+ if len(arrIntersection) == 0:
+ print (-1)
+ else:
+ ## Source Array Part
+ nStartIndx = arrInputRouteList[nSourceIndx].index(nSource)
+ nEndIndx = arrInputRouteList[nSourceIndx].index(arrIntersection[0])
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx, -1):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+
+ ## Destination Array Part
+ nStartIndx = arrInputRouteList[nDestinationIndx].index(arrIntersection[0])
+ nEndIndx = arrInputRouteList[nDestinationIndx].index(nDestination)
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx - 1, -1):
+ arrOutputRouteList.append(arrInputRouteList[nDestinationIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx + 1):
+ arrOutputRouteList.append(arrInputRouteList[nDestinationIndx][nIndx])
+
+ print (arrOutputRouteList)
+else:
+ ## Check Intersection
+ arrIntersection = [nElem for nElem in arrInputRouteList[nSourceIndx] if nElem in arrInputRouteList[nDestinationIndx]]
+
+ if len(arrIntersection) == 0:
+ nInterSourceIndx = -1
+ nInterDestinationIndx = -1
+
+ nInterSourceElem = -1
+ nInterDestinationElem = -1
+
+ for nIndx, arrLoop in enumerate(arrInputRouteList):
+ if nIndx == nSourceIndx or nIndx == nDestinationIndx:
+ continue
+
+ arrIntersection = [nElem for nElem in arrInputRouteList[nSourceIndx] if nElem in arrInputRouteList[nIndx]]
+ if len(arrIntersection) > 0:
+ nInterSourceIndx = nIndx
+ nInterSourceElem = arrIntersection[0]
+
+ arrIntersection = [nElem for nElem in arrInputRouteList[nDestinationIndx] if nElem in arrInputRouteList[nIndx]]
+ if len(arrIntersection) > 0:
+ nInterDestinationIndx = nIndx
+ nInterDestinationElem = arrIntersection[0]
+
+ if nInterSourceIndx < -1 or nInterDestinationIndx < -1:
+ print (-1)
+ elif nInterSourceIndx == nInterDestinationIndx:
+ ## Source Array Part
+ nStartIndx = arrInputRouteList[nSourceIndx].index(nSource)
+ nEndIndx = arrInputRouteList[nSourceIndx].index(nInterSourceElem)
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx, -1):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+
+ ## Inter Array Part
+ nStartIndx = arrInputRouteList[nInterSourceIndx].index(nInterSourceElem)
+ nEndIndx = arrInputRouteList[nInterSourceIndx].index(nInterDestinationElem)
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx, -1):
+ arrOutputRouteList.append(arrInputRouteList[nInterSourceIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx):
+ arrOutputRouteList.append(arrInputRouteList[nInterSourceIndx][nIndx])
+
+ ## Destination Array Part
+ nStartIndx = arrInputRouteList[nDestinationIndx].index(nInterDestinationElem)
+ nEndIndx = arrInputRouteList[nDestinationIndx].index(nDestination)
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx - 1, -1):
+ arrOutputRouteList.append(arrInputRouteList[nDestinationIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx + 1):
+ arrOutputRouteList.append(arrInputRouteList[nDestinationIndx][nIndx])
+
+ print (arrOutputRouteList)
+ else:
+ ## Source Array Part
+ nStartIndx = arrInputRouteList[nSourceIndx].index(nSource)
+ nEndIndx = arrInputRouteList[nSourceIndx].index(arrIntersection[0])
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx, -1):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx):
+ arrOutputRouteList.append(arrInputRouteList[nSourceIndx][nIndx])
+
+ ## Destination Array Part
+ nStartIndx = arrInputRouteList[nDestinationIndx].index(arrIntersection[0])
+ nEndIndx = arrInputRouteList[nDestinationIndx].index(nDestination)
+
+ if nEndIndx < nStartIndx:
+ for nIndx in range(nStartIndx, nEndIndx - 1, -1):
+ arrOutputRouteList.append(arrInputRouteList[nDestinationIndx][nIndx])
+ else:
+ for nIndx in range(nStartIndx, nEndIndx + 1):
+ arrOutputRouteList.append(arrInputRouteList[nDestinationIndx][nIndx])
+
+ print (arrOutputRouteList)
diff --git a/challenge-213/laurent-rosenfeld/blog.txt b/challenge-213/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..1447ad83ce --- /dev/null +++ b/challenge-213/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +https://blogs.perl.org/users/laurent_r/2023/04/perl-weekly-challenge-213-fun-sort.html diff --git a/challenge-213/laurent-rosenfeld/perl/ch-1.pl b/challenge-213/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..b622e30ff6 --- /dev/null +++ b/challenge-213/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,13 @@ +use strict; +use warnings; +use feature 'say'; + +sub fun_sort { + return (sort { $a <=> $b } grep { $_ % 2 == 0 } @_), + (sort { $a <=> $b } grep { $_ % 2 != 0 } @_); +} + +for my $test ([<1 2 3 4 5 6>], [(1, 2)], [(1)], + [1..15], [reverse (1..15)]) { + say join " ", fun_sort @$test; +} diff --git a/challenge-213/laurent-rosenfeld/raku/ch-1.raku b/challenge-213/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..5f95dd43c5 --- /dev/null +++ b/challenge-213/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,9 @@ +sub fun-sort (@in) { + return (@in.grep({$_ %% 2}).sort, + @in.grep({$_ % 2}).sort).flat; +} + +for <1 2 3 4 5 6>, <1 2>, (1,), + 1..15, (1..15).reverse -> @test { + say fun-sort @test; +} diff --git a/challenge-213/perlboy1967/perl/ch1.pl b/challenge-213/perlboy1967/perl/ch-1.pl index f971f8fb10..f971f8fb10 100755 --- a/challenge-213/perlboy1967/perl/ch1.pl +++ b/challenge-213/perlboy1967/perl/ch-1.pl diff --git a/challenge-213/perlboy1967/perl/ch2.pl b/challenge-213/perlboy1967/perl/ch-2.pl index 3c26e59c5c..3c26e59c5c 100755 --- a/challenge-213/perlboy1967/perl/ch2.pl +++ b/challenge-213/perlboy1967/perl/ch-2.pl diff --git a/challenge-213/robert-dicicco/julia/ch-1.jl b/challenge-213/robert-dicicco/julia/ch-1.jl new file mode 100644 index 0000000000..26a8b520f9 --- /dev/null +++ b/challenge-213/robert-dicicco/julia/ch-1.jl @@ -0,0 +1,34 @@ +#!/usr/bin/env julia +#= +----------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-04-17 +Challenge 213 Fun Sort ( Julia ) +----------------------------------- +=# +using Printf + +mylists = [[1,2,3,4,5,6],[1,2],[1]] + +for arr in mylists + @printf("Input: @list = %s\n", arr) + evens = arr[findall(iseven, arr)] + odds = arr[findall(isodd, arr)] + combo = cat(evens, odds, dims =(1, 1)) + @printf("%s\n",combo) +end + +#= +----------------------------------- +SAMPLE OUTPUT +julia .\FunSort.jl +Input: @list = [1, 2, 3, 4, 5, 6] +[2, 4, 6, 1, 3, 5] +Input: @list = [1, 2] +[2, 1] +Input: @list = [1] +[1] +----------------------------------- +=# + + diff --git a/challenge-213/robert-dicicco/perl/ch-1.pl b/challenge-213/robert-dicicco/perl/ch-1.pl new file mode 100644 index 0000000000..d8d44c21c1 --- /dev/null +++ b/challenge-213/robert-dicicco/perl/ch-1.pl @@ -0,0 +1,39 @@ +#!/usr/bin/env perl +=begin pod +----------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-04-17 +Challenge 213 Fun Sort ( Perl ) +----------------------------------- +=cut +use strict; +use warnings; +use feature 'say'; + +my @lists = ([1,2,3,4,5,6],[1,2],[1]); + +for my $arr (@lists) { + say "Input: \@list = (@{$arr})"; + my @odds = grep { $_ % 2 } @{$arr}; + my @evens = grep { $_ % 2 == 0 } @{$arr}; + my @combo = (@evens, @odds); + say "(".join( ',', @combo ).")"; + say " "; +} + +=begin pod +----------------------------------- +SAMPLE OUTPUT +perl .\FunSort.pl +Input: @list = (1 2 3 4 5 6) +(2,4,6,1,3,5) + +Input: @list = (1 2) +(2,1) + +Input: @list = (1) +(1) +----------------------------------- +=cut + + diff --git a/challenge-213/robert-dicicco/python/ch-1.py b/challenge-213/robert-dicicco/python/ch-1.py new file mode 100644 index 0000000000..75d2a80d93 --- /dev/null +++ b/challenge-213/robert-dicicco/python/ch-1.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +''' +----------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-04-17 +Challenge 213 Fun Sort ( Python ) +----------------------------------- +''' +import numpy as np + +mylists = [[1,2,3,4,5,6],[1,2],[1]] + +for arr in mylists: + print("Input: @list = ",arr) + evens = np.array([num for num in arr if num % 2 == 0]) + odds = np.array([num for num in arr if num % 2 == 1]) + if (evens.size and odds.size): + combo = np.concatenate((evens,odds)) + print(combo) + else: + print(evens) if evens.size else print(odds) +''' +----------------------------------- +SAMPLE OUTPUT + python .\FunSort.py +Input: @list = [1, 2, 3, 4, 5, 6] +[2 4 6 1 3 5] +Input: @list = [1, 2] +[2 1] +Input: @list = [1] +[1] +----------------------------------- +''' + + diff --git a/challenge-213/robert-dicicco/raku/ch-1.raku b/challenge-213/robert-dicicco/raku/ch-1.raku new file mode 100644 index 0000000000..5c49d02b90 --- /dev/null +++ b/challenge-213/robert-dicicco/raku/ch-1.raku @@ -0,0 +1,48 @@ +#!/usr/bin/env raku +#`{ +----------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-04-17 +Challenge 213 Fun Sort ( Raku ) +----------------------------------- +} +use v6; + +multi MAIN (*@list where @list.elems >= 1 + && @list.all ~~ Int) +{ + my @res; + my @sorted = @list>>.Int.sort; + my @evens = grep {$_ %% 2}, @sorted; + my @odds = grep {$_ % 2}, @sorted; + + for (^@evens.elems) -> $x { + @res.push: @evens[$x]; + } + + for (^@odds.elems) -> $x { + @res.push: @odds[$x]; + } + + print "(", join ', ', flat(@res); + print ")"; +} + +multi MAIN (*@slurp) +{ + say '-1'; +} + +#`{ +----------------------------------- +SAMPLE OUTPUT +raku FunSort.rk 1 2 3 4 5 6 +(2, 4, 6, 1, 3, 5) + +raku FunSort.rk 1 2 +(2, 1) + +raku FunSort.rk 1 +(1) +----------------------------------- +} diff --git a/challenge-213/robert-dicicco/ruby/ch-1.rb b/challenge-213/robert-dicicco/ruby/ch-1.rb new file mode 100644 index 0000000000..ac26659df7 --- /dev/null +++ b/challenge-213/robert-dicicco/ruby/ch-1.rb @@ -0,0 +1,37 @@ +#!/usr/bin/env ruby +=begin +----------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-04-17 +Challenge 213 Fun Sort ( Ruby ) +----------------------------------- +=end + +mylists = [[1,2,3,4,5,6],[1,2],[1]] + +mylists.each do |arr| + puts("Input: @list = #{arr}") + evens = arr.find_all {|i| i % 2 == 0 } + odds = arr.find_all {|i| i % 2 == 1 } + res = evens + odds + puts("#{res}") + puts() +end + +=begin +----------------------------------- +SAMPLE OUTPUT +ruby .\FunSort.rb +Input: @list = [1, 2, 3, 4, 5, 6] +[2, 4, 6, 1, 3, 5] + +Input: @list = [1, 2] +[2, 1] + +Input: @list = [1] +[1] +----------------------------------- +=end + + + diff --git a/challenge-213/ziameraj16/java/FunSort.java b/challenge-213/ziameraj16/java/FunSort.java new file mode 100644 index 0000000000..a409172126 --- /dev/null +++ b/challenge-213/ziameraj16/java/FunSort.java @@ -0,0 +1,22 @@ +import java.util.*; + +public class FunSort { + + public static void main(String[] args) { + System.out.println("Enter comma separated values of first array"); + List<Integer> list = Arrays.stream(new Scanner(System.in).nextLine().split(",")).map(Integer::valueOf).toList(); + SortedSet<Integer> evenNumber = new TreeSet(); + SortedSet<Integer> oddNumber = new TreeSet(); + for (int i : list) { + if (i%2 == 0) { + evenNumber.add(i); + } else { + oddNumber.add(i); + } + } + List<Integer> sortedList = new ArrayList(); + sortedList.addAll(evenNumber); + sortedList.addAll(oddNumber); + System.out.println(sortedList); + } +} diff --git a/stats/pwc-challenge-212.json b/stats/pwc-challenge-212.json new file mode 100644 index 0000000000..a031fea7c9 --- /dev/null +++ b/stats/pwc-challenge-212.json @@ -0,0 +1,638 @@ +{ + "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 + }, + "title" : { + "text" : "The Weekly Challenge - 212" + }, + "legend" : { + "enabled" : 0 + }, + "subtitle" : { + "text" : "[Champions: 34] Last updated at 2023-04-18 18:54:00 GMT" + }, + "series" : [ + { + "data" : [ + { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "y" : 4, + "drilldown" : "Athanasius" + }, + { + "drilldown" : "Avery Adams", + "y" : 4, + "name" : "Avery Adams" + }, + { + "drilldown" : "Bob Lied", + "y" : 2, + "name" : "Bob Lied" + }, + { + "name" : "Bruce Gray", + "y" : 2, + "drilldown" : "Bruce Gray" + }, + { + "drilldown" : "Carlos Oliveira", + "name" : "Carlos Oliveira", + "y" : 2 + }, + { + "name" : "Cheok-Yin Fung", + "y" : 2, + "drilldown" : "Cheok-Yin Fung" + }, + { + "y" : 2, + "name" : "David Ferrone", + "drilldown" : "David Ferrone" + }, + { + "name" : "Duncan C. White", + "y" : 2, + "drilldown" : "Duncan C. White" + }, + { + "drilldown" : "E. Choroba", + "y" : 2, + "name" : "E. Choroba" + }, + { + "name" : "Flavio Poletti", + "y" : 6, + "drilldown" : "Flavio Poletti" + }, + { + "y" : 5, + "name" : "Jaldhar H. Vyas", + "drilldown" : "Jaldhar H. Vyas" + }, + { + "drilldown" : "James Smith", + "y" : 3, + "name" : "James Smith" + }, + { + "y" : 2, + "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek" + }, + { + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey", + "y" : 2 + }, + { + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld", + "y" : 6 + }, + { + "drilldown" : "Leo Manfredi", + "y" : 1, + "name" : "Leo Manfredi" + }, + { + "drilldown" : "Lubos Kolouch", + "y" : 2, + "name" : "Lubos Kolouch" + }, + { + "name" : "Luca Ferrari", + "y" : 8, + "drilldown" : "Luca Ferrari" + }, + { + "name" : "Mariano Spadaccini", + "y" : 1, + "drilldown" : "Mariano Spadaccini" + }, + { + "y" : 2, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Matthew Neleigh", + "y" : 2, + "name" : "Matthew Neleigh" + }, + { + "name" : "Paulo Custodio", + "y" : 2, + "drilldown" : "Paulo Custodio" + }, + { + "y" : 3, + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith" + }, + { + "drilldown" : "Peter Meszaros", + "y" : 2, + "name" : "Peter Meszaros" + }, + { + "drilldown" : "Pip Stuart", + "name" : "Pip Stuart", + "y" : 4 + }, + { + "name" : "Robbie Hatley", + "y" : 3, + "drilldown" : "Robbie Hatley" + }, + { + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", + "y" : 2 + }, + { + "y" : 2, + "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom" + }, + { + "name" : "Roger Bell_West", + "y" : 5, + "drilldown" : "Roger Bell_West" + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 3 + }, + { + "drilldown" : "Solathian", + "y" : 1, + "name" : "Solathian" + }, + { + "y" : 4, + "name" : "Thomas Kohler", + "drilldown" : "Thomas Kohler" + }, + { + "drilldown" : "W. Luis Mochan", + "y" : 3, + "name" : "W. Luis Mochan" + } + ], + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 212" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "drilldown" : { + "series" : [ + { + "id" : "Arne Sommer", + "name" : "Arne Sommer", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "id" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Athanasius" + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 2 + ] + ], + "name" : "Avery Adams", + "id" : "Avery Adams" + }, + { + "name" : "Bob Lied", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Bob Lied" + }, + { + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "Bruce Gray", + "id" : "Bruce Gray" + }, + { + "id" : "Carlos Oliveira", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Carlos Oliveira" + }, + { + "id" : "Cheok-Yin Fung", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Cheok-Yin Fung" + }, + { + "name" : "David Ferrone", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "David Ferrone" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Duncan C. White", + "id" : "Duncan C. White" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "E. Choroba", + "id" : "E. Choroba" + }, + { + "name" : "Flavio Poletti", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 2 + ] + ], + "id" : "Flavio Poletti" + }, + { + "id" : "Jaldhar H. Vyas", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Jaldhar H. Vyas" + }, + { + "id" : "James Smith", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "James Smith" + }, + { + "id" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 2 + ] + ], + "name" : "Jan Krnavek" + }, + { + "name" : "Jorg Som |
