aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2024-01-31 13:40:24 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2024-01-31 13:40:24 +0000
commita2f0218d62b74adbb34a0330c25f9f4efaa50bd4 (patch)
tree29a5194200892fb00828fcb323706be10fb73516
parenta52561b3a2f2989033faea3c0948020a10720dbb (diff)
downloadperlweeklychallenge-club-a2f0218d62b74adbb34a0330c25f9f4efaa50bd4.tar.gz
perlweeklychallenge-club-a2f0218d62b74adbb34a0330c25f9f4efaa50bd4.tar.bz2
perlweeklychallenge-club-a2f0218d62b74adbb34a0330c25f9f4efaa50bd4.zip
- Added solutions by Ulrich Rieke.
- Added solutions by Eric Cheung. - Added solutions by Laurent Rosenfeld. - Added solutions by E. Choroba. - Added solutions by Niels van Dijke. - Added solutions by Luca Ferrari. - Added solutions by Mark Anderson. - Added solutions by Stephen G Lynn. - Added solutions by Peter Meszaros. - Added solutions by Thomas Kohler. - Added solutions by W. Luis Mochan. - Added solutions by David Ferrone. - Added solutions by Steven Wilson. - Added solutions by Dave Jacoby. - Added solutions by Robbie Hatley. - Added solutions by Peter Campbell Smith. - Added solutions by Arne Sommer. - Added solutions by PokGoPun. - Added solutions by Roger Bell_West.
-rwxr-xr-xchallenge-254/eric-cheung/python/ch-1.py13
-rwxr-xr-xchallenge-254/eric-cheung/python/ch-2.py24
-rw-r--r--challenge-254/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-254/laurent-rosenfeld/blog1.txt1
-rw-r--r--challenge-254/laurent-rosenfeld/perl/ch-1.pl13
-rw-r--r--challenge-254/laurent-rosenfeld/perl/ch-2.pl14
-rw-r--r--challenge-254/laurent-rosenfeld/raku/ch-1.raku7
-rw-r--r--challenge-254/laurent-rosenfeld/raku/ch-2.raku10
-rwxr-xr-xchallenge-254/perlboy1967/perl/ch-1.pl (renamed from challenge-254/perlboy1967/perl/ch1.pl)0
-rwxr-xr-xchallenge-254/perlboy1967/perl/ch-2.pl (renamed from challenge-254/perlboy1967/perl/ch2.pl)0
-rw-r--r--challenge-254/steven-wilson/python/ch-1.py (renamed from challenge-254/steven-wilson/python/ch-01.py)0
-rw-r--r--challenge-254/steven-wilson/python/ch-2.py (renamed from challenge-254/steven-wilson/python/ch-02.py)0
-rwxr-xr-xchallenge-254/ulrich-rieke/cpp/ch-1.cpp15
-rwxr-xr-xchallenge-254/ulrich-rieke/cpp/ch-2.cpp35
-rwxr-xr-xchallenge-254/ulrich-rieke/haskell/ch-1.hs11
-rwxr-xr-xchallenge-254/ulrich-rieke/haskell/ch-2.hs25
-rwxr-xr-xchallenge-254/ulrich-rieke/perl/ch-1.pl17
-rwxr-xr-xchallenge-254/ulrich-rieke/perl/ch-2.pl32
-rwxr-xr-xchallenge-254/ulrich-rieke/raku/ch-1.raku8
-rwxr-xr-xchallenge-254/ulrich-rieke/raku/ch-2.raku25
-rwxr-xr-xchallenge-254/ulrich-rieke/rust/ch-1.rs12
-rwxr-xr-xchallenge-254/ulrich-rieke/rust/ch-2.rs32
-rw-r--r--stats/pwc-challenge-253.json665
-rw-r--r--stats/pwc-current.json597
-rw-r--r--stats/pwc-language-breakdown-summary.json66
-rw-r--r--stats/pwc-language-breakdown.json3371
-rw-r--r--stats/pwc-leaders.json812
-rw-r--r--stats/pwc-summary-1-30.json114
-rw-r--r--stats/pwc-summary-121-150.json34
-rw-r--r--stats/pwc-summary-151-180.json118
-rw-r--r--stats/pwc-summary-181-210.json56
-rw-r--r--stats/pwc-summary-211-240.json122
-rw-r--r--stats/pwc-summary-241-270.json36
-rw-r--r--stats/pwc-summary-271-300.json128
-rw-r--r--stats/pwc-summary-301-330.json48
-rw-r--r--stats/pwc-summary-31-60.json102
-rw-r--r--stats/pwc-summary-61-90.json48
-rw-r--r--stats/pwc-summary-91-120.json98
-rw-r--r--stats/pwc-summary.json712
39 files changed, 4038 insertions, 3384 deletions
diff --git a/challenge-254/eric-cheung/python/ch-1.py b/challenge-254/eric-cheung/python/ch-1.py
new file mode 100755
index 0000000000..3a08de1539
--- /dev/null
+++ b/challenge-254/eric-cheung/python/ch-1.py
@@ -0,0 +1,13 @@
+
+import math
+
+## nInput = 27 ## Example 1
+## nInput = 0 ## Example 2
+nInput = 6 ## Example 3
+
+dCubicRoot = nInput ** (1. / 3.)
+
+if dCubicRoot - int(dCubicRoot) > 0:
+ print (False)
+else:
+ print (True)
diff --git a/challenge-254/eric-cheung/python/ch-2.py b/challenge-254/eric-cheung/python/ch-2.py
new file mode 100755
index 0000000000..e1a9c3c14f
--- /dev/null
+++ b/challenge-254/eric-cheung/python/ch-2.py
@@ -0,0 +1,24 @@
+
+## Reference
+## https://www.w3resource.com/python-exercises/basic/python-basic-1-exercise-71.php
+## https://www.geeksforgeeks.org/reverse-vowels-given-string/
+
+## strInput = "Raku" ## Example 1
+## strInput = "Perl" ## Example 2
+## strInput = "Julia" ## Example 3
+strInput = "Uiua" ## Example 4
+
+arrVowel = [charLoop for charLoop in strInput.lower() if charLoop in ["a", "e", "i", "o", "u"]]
+
+strOutput = ""
+
+for nIndx, charLoop in enumerate(strInput.lower()):
+ if charLoop in ["a", "e", "i", "o", "u"]:
+ strOutput = strOutput + arrVowel[-1]
+ del arrVowel[-1]
+ else:
+ strOutput = strOutput + charLoop
+
+strOutput = strOutput.title()
+
+print (strOutput)
diff --git a/challenge-254/laurent-rosenfeld/blog.txt b/challenge-254/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..f05728e0e4
--- /dev/null
+++ b/challenge-254/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+https://blogs.perl.org/users/laurent_r/2024/01/perl-weekly-challenge-254-three-power.html
diff --git a/challenge-254/laurent-rosenfeld/blog1.txt b/challenge-254/laurent-rosenfeld/blog1.txt
new file mode 100644
index 0000000000..07591b34b0
--- /dev/null
+++ b/challenge-254/laurent-rosenfeld/blog1.txt
@@ -0,0 +1 @@
+https://blogs.perl.org/users/laurent_r/2024/01/perl-weekly-challenge-254-reverse-vowels.html
diff --git a/challenge-254/laurent-rosenfeld/perl/ch-1.pl b/challenge-254/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..a53e4bf876
--- /dev/null
+++ b/challenge-254/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,13 @@
+use strict;
+use warnings;
+use feature 'say';
+
+sub exp_three {
+ my $in = shift;
+ return "true" if $in == 0;
+ my $exp = int (log $in / log 3);
+ return (3 ** $exp == $in or 3 ** ($exp + 1) == $in)
+ ? "true" : "false";
+}
+
+say "$_ \t=> ", exp_three $_ for qw<27 26 0 6>;
diff --git a/challenge-254/laurent-rosenfeld/perl/ch-2.pl b/challenge-254/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..0070411d99
--- /dev/null
+++ b/challenge-254/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,14 @@
+use strict;
+use warnings;
+use feature 'say';
+
+sub reverse_vowels {
+ my $str = lc shift;
+ my @vowels = $str =~ /[aeiou]/g;
+ $str =~ s/[aeiou]/pop @vowels/ge;
+ return ucfirst $str;
+}
+
+for my $test (qw <Raku Perl Julia Uiua>) {
+ say "$test \t => ", reverse_vowels $test;
+}
diff --git a/challenge-254/laurent-rosenfeld/raku/ch-1.raku b/challenge-254/laurent-rosenfeld/raku/ch-1.raku
new file mode 100644
index 0000000000..48844631b2
--- /dev/null
+++ b/challenge-254/laurent-rosenfeld/raku/ch-1.raku
@@ -0,0 +1,7 @@
+sub exp-three ($in) {
+ return True if $in == 0;
+ my $exp = (log $in, 3).Int;
+ return (3 ** $exp == $in or 3 ** ($exp + 1) == $in);
+}
+
+say "$_ \t=> ", exp-three $_ for <27 26 0 6>;
diff --git a/challenge-254/laurent-rosenfeld/raku/ch-2.raku b/challenge-254/laurent-rosenfeld/raku/ch-2.raku
new file mode 100644
index 0000000000..213a7bf11e
--- /dev/null
+++ b/challenge-254/laurent-rosenfeld/raku/ch-2.raku
@@ -0,0 +1,10 @@
+sub reverse-vowels ($in) {
+ my $str = $in.lc;
+ my @vowels = map { .Str }, $str ~~ m:g/<[aeiou]>/;
+ $str ~~ s:g/<[aeiou]>/{pop @vowels}/;
+ return $str.tc;
+}
+
+for <Raku Perl Julia Uiua> -> $test {
+ say "$test \t => ", reverse-vowels $test;
+}
diff --git a/challenge-254/perlboy1967/perl/ch1.pl b/challenge-254/perlboy1967/perl/ch-1.pl
index 68c055158f..68c055158f 100755
--- a/challenge-254/perlboy1967/perl/ch1.pl
+++ b/challenge-254/perlboy1967/perl/ch-1.pl
diff --git a/challenge-254/perlboy1967/perl/ch2.pl b/challenge-254/perlboy1967/perl/ch-2.pl
index 2af8efbfb6..2af8efbfb6 100755
--- a/challenge-254/perlboy1967/perl/ch2.pl
+++ b/challenge-254/perlboy1967/perl/ch-2.pl
diff --git a/challenge-254/steven-wilson/python/ch-01.py b/challenge-254/steven-wilson/python/ch-1.py
index 6c51d189e2..6c51d189e2 100644
--- a/challenge-254/steven-wilson/python/ch-01.py
+++ b/challenge-254/steven-wilson/python/ch-1.py
diff --git a/challenge-254/steven-wilson/python/ch-02.py b/challenge-254/steven-wilson/python/ch-2.py
index 9a9fc09f62..9a9fc09f62 100644
--- a/challenge-254/steven-wilson/python/ch-02.py
+++ b/challenge-254/steven-wilson/python/ch-2.py
diff --git a/challenge-254/ulrich-rieke/cpp/ch-1.cpp b/challenge-254/ulrich-rieke/cpp/ch-1.cpp
new file mode 100755
index 0000000000..d9cbd68737
--- /dev/null
+++ b/challenge-254/ulrich-rieke/cpp/ch-1.cpp
@@ -0,0 +1,15 @@
+#include <iostream>
+#include <cmath>
+
+int main( ) {
+ std::cout << "Please enter an integer!\n" ;
+ int number ;
+ std::cin >> number ;
+ double third = 1.0 / 3.0 ;
+ double cuberoot = std::pow( static_cast<double>(number ) , third ) ;
+ if ( cuberoot == floor( cuberoot ) )
+ std::cout << "true\n" ;
+ else
+ std::cout << "false\n" ;
+ return 0 ;
+}
diff --git a/challenge-254/ulrich-rieke/cpp/ch-2.cpp b/challenge-254/ulrich-rieke/cpp/ch-2.cpp
new file mode 100755
index 0000000000..ed81183edd
--- /dev/null
+++ b/challenge-254/ulrich-rieke/cpp/ch-2.cpp
@@ -0,0 +1,35 @@
+#include <iostream>
+#include <string>
+#include <cctype>
+#include <list>
+#include <algorithm>
+
+int main( ) {
+ std::cout << "Please enter a word!\n" ;
+ std::string word ;
+ std::cin >> word ;
+ std::string vowels {"aeiouAEIOU"} ;
+ std::list<char> vowels_contained ;
+ for ( int i = 0 ; i < word.length( ) ; i++ ) {
+ if ( vowels.find( word.substr( i , 1 ) ) != std::string::npos )
+ vowels_contained.push_back( word[ i ] ) ;
+ }
+ std::string changed ;
+ for ( auto c : word ) {
+ if ( vowels.find( c ) != std::string::npos ) {
+ char next_one = vowels_contained.back( ) ;
+ if ( changed.empty( ) ) {
+ changed.push_back( toupper( next_one ) ) ;
+ }
+ else {
+ changed.push_back( tolower( next_one ) ) ;
+ }
+ vowels_contained.pop_back( ) ;
+ }
+ else {
+ changed.push_back( c ) ;
+ }
+ }
+ std::cout << changed << '\n' ;
+ return 0 ;
+}
diff --git a/challenge-254/ulrich-rieke/haskell/ch-1.hs b/challenge-254/ulrich-rieke/haskell/ch-1.hs
new file mode 100755
index 0000000000..70d47acb53
--- /dev/null
+++ b/challenge-254/ulrich-rieke/haskell/ch-1.hs
@@ -0,0 +1,11 @@
+module Challenge254
+ where
+import Data.Ratio
+
+third :: Ratio Int
+third = 1 % 3
+
+solution :: Int -> Bool
+solution n = ( fromIntegral $ floor cuberoot ) == cuberoot
+ where
+ cuberoot = (fromIntegral n ) ** ( realToFrac third )
diff --git a/challenge-254/ulrich-rieke/haskell/ch-2.hs b/challenge-254/ulrich-rieke/haskell/ch-2.hs
new file mode 100755
index 0000000000..5334895c62
--- /dev/null
+++ b/challenge-254/ulrich-rieke/haskell/ch-2.hs
@@ -0,0 +1,25 @@
+module Challenge254_2
+ where
+import Data.Char( toUpper , toLower )
+import Data.Maybe ( fromJust )
+
+vowels :: String
+vowels = "aeiouAEIOU"
+
+solution :: String -> String
+solution str = map (\p -> if ( fst p ) == 0 then toUpper $ snd p
+ else toLower $ snd p ) indexed
+ where
+ vowelsContained :: String
+ vowelsContained = filter (\c -> elem c vowels ) str
+ reversed :: [(Char , Char)]
+ reversed = zip vowelsContained ( reverse vowelsContained )
+ indexed :: [(Int, Char)]
+ indexed = map (\(n , c) -> if elem c vowels then ( n , fromJust $
+ lookup c reversed ) else ( n , c )) $ zip [0,1..] str
+
+main :: IO ( )
+main = do
+ putStrLn "Please enter a word!"
+ word <- getLine
+ print $ solution word
diff --git a/challenge-254/ulrich-rieke/perl/ch-1.pl b/challenge-254/ulrich-rieke/perl/ch-1.pl
new file mode 100755
index 0000000000..b919d0f614
--- /dev/null
+++ b/challenge-254/ulrich-rieke/perl/ch-1.pl
@@ -0,0 +1,17 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+use POSIX ;
+
+say "Enter a number!" ;
+my $number = <STDIN> ;
+chomp $number ;
+my $third = 1 / 3 ;
+my $cuberoot = $number ** $third ;
+if ( $cuberoot == floor( $cuberoot )) {
+ say "true" ;
+}
+else {
+ say "false" ;
+}
diff --git a/challenge-254/ulrich-rieke/perl/ch-2.pl b/challenge-254/ulrich-rieke/perl/ch-2.pl
new file mode 100755
index 0000000000..5c6eb13282
--- /dev/null
+++ b/challenge-254/ulrich-rieke/perl/ch-2.pl
@@ -0,0 +1,32 @@
+#!/usr/bin/perl ;
+use strict ;
+use warnings ;
+use feature 'say' ;
+
+say "Enter a word!" ;
+my $word = <STDIN> ;
+chomp $word ;
+my @vowels_contained ;
+for my $letter ( split( // , $word ) ) {
+ if ( $letter =~ /[aeiouAEIOU]/ ) {
+ push @vowels_contained , $letter ;
+ }
+}
+my @changed ;
+for my $letter ( split( // , $word ) ) {
+ if ( $letter =~ /[aeiouAEIOU]/ ) {
+ my $next_one = pop @vowels_contained ;
+ if ( @changed ) {
+ push @changed , lc( $next_one ) ;
+ }
+ else {
+ push @changed , uc( $next_one ) ;
+ }
+ }
+ else {
+ push @changed , $letter ;
+ }
+}
+say join( '' , @changed ) ;
+
+
diff --git a/challenge-254/ulrich-rieke/raku/ch-1.raku b/challenge-254/ulrich-rieke/raku/ch-1.raku
new file mode 100755
index 0000000000..1881cc8a66
--- /dev/null
+++ b/challenge-254/ulrich-rieke/raku/ch-1.raku
@@ -0,0 +1,8 @@
+use v6 ;
+
+say "Enter a number!" ;
+my $line = $*IN.get ;
+my $number = $line.Int ;
+my $third = FatRat.new( 1 , 3 ) ;
+my $cuberoot = $number ** $third ;
+say ( $cuberoot == floor( $cuberoot ) ) ;
diff --git a/challenge-254/ulrich-rieke/raku/ch-2.raku b/challenge-254/ulrich-rieke/raku/ch-2.raku
new file mode 100755
index 0000000000..1ed87a2a26
--- /dev/null
+++ b/challenge-254/ulrich-rieke/raku/ch-2.raku
@@ -0,0 +1,25 @@
+use v6 ;
+
+say "Enter a word!" ;
+my $word = $*IN.get ;
+my @vowels_contained ;
+for $word.comb -> $letter {
+ if ( $letter ~~ /<[aeiouAEIOU]>/ ) {
+ @vowels_contained.push( $letter ) ;
+ }
+}
+my @characters ;
+for $word.comb -> $letter {
+ if ( $letter ~~ /<[aeiouAEIOU]>/ ) {
+ if ( @characters.elems == 0 ) {
+ @characters.push( uc( @vowels_contained.pop( ) )) ;
+ }
+ else {
+ @characters.push( lc( @vowels_contained.pop( ) ) ) ;
+ }
+ }
+ else {
+ @characters.push( $letter ) ;
+ }
+}
+say @characters.join ;
diff --git a/challenge-254/ulrich-rieke/rust/ch-1.rs b/challenge-254/ulrich-rieke/rust/ch-1.rs
new file mode 100755
index 0000000000..5ded9771da
--- /dev/null
+++ b/challenge-254/ulrich-rieke/rust/ch-1.rs
@@ -0,0 +1,12 @@
+use std::io ;
+
+fn main() {
+ println!("Enter a positive integer!");
+ let mut inline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut inline ).unwrap( ) ;
+ let entered_line : &str = &*inline ;
+ let changed = entered_line.trim( ) ;
+ let number = changed.parse::<i32>( ).unwrap( ) ;
+ let cuberoot : f32 = (number as f32).cbrt( ) ;
+ println!("{}" , cuberoot == cuberoot.floor( ) ) ;
+}
diff --git a/challenge-254/ulrich-rieke/rust/ch-2.rs b/challenge-254/ulrich-rieke/rust/ch-2.rs
new file mode 100755
index 0000000000..630ffdb2c6
--- /dev/null
+++ b/challenge-254/ulrich-rieke/rust/ch-2.rs
@@ -0,0 +1,32 @@
+use std::io ;
+
+fn main() {
+ println!("Please enter a string!");
+ let mut inline : String = String::new( ) ;
+ io::stdin( ).read_line( &mut inline ).unwrap( ) ;
+ let entered_line : &str = &*inline ;
+ let word = entered_line.trim( ) ;
+ let vowels : &str = "aeiouAEIOU" ;
+ let mut vowels_contained : String = String::new( ) ;
+ for c in word.chars( ) {
+ if vowels.contains( c ) {
+ vowels_contained.push( c ) ;
+ }
+ }
+ let mut changed : String = String::new( ) ;
+ for c in word.chars( ) {
+ if vowels.contains( c ) {
+ let next_vowel : char = vowels_contained.pop( ).unwrap( ) ;
+ if changed.len( ) == 0 {
+ changed.push_str( &next_vowel.to_uppercase( ).to_string( )) ;
+ }
+ else {
+ changed.push_str( &next_vowel.to_lowercase( ).to_string( ) ) ;
+ }
+ }
+ else {
+ changed.push( c ) ;
+ }
+ }
+ println!("{:?}" , changed) ;
+}
diff --git a/stats/pwc-challenge-253.json b/stats/pwc-challenge-253.json
new file mode 100644
index 0000000000..fd29ba8a0f
--- /dev/null
+++ b/stats/pwc-challenge-253.json
@@ -0,0 +1,665 @@
+{
+ "legend" : {
+ "enabled" : 0
+ },
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "name" : "The Weekly Challenge - 253",
+ "data" : [
+ {
+ "drilldown" : "Ali Moradi",
+ "name" : "Ali Moradi",
+ "y" : 3
+ },
+ {
+ "name" : "Arne Sommer",
+ "y" : 3,
+ "drilldown" : "Arne Sommer"
+ },
+ {
+ "drilldown" : "Athanasius",
+ "name" : "Athanasius",
+ "y" : 4
+ },
+ {
+ "y" : 2,
+ "name" : "BarrOff",
+ "drilldown" : "BarrOff"
+ },
+ {
+ "drilldown" : "Bob Lied",
+ "name" : "Bob Lied",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Bruce Gray",
+ "y" : 2,
+ "name" : "Bruce Gray"
+ },
+ {
+ "name" : "Cheok-Yin Fung",
+ "y" : 2,
+ "drilldown" : "Cheok-Yin Fung"
+ },
+ {
+ "drilldown" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
+ "y" : 3
+ },
+ {
+ "drilldown" : "David Ferrone",
+ "name" : "David Ferrone",
+ "y" : 2
+ },
+ {
+ "name" : "E. Choroba",
+ "y" : 2,
+ "drilldown" : "E. Choroba"
+ },
+ {
+ "name" : "Jaldhar H. Vyas",
+ "y" : 5,
+ "drilldown" : "Jaldhar H. Vyas"
+ },
+ {
+ "drilldown" : "Jan Krnavek",
+ "name" : "Jan Krnavek",
+ "y" : 2
+ },
+ {
+ "name" : "Jorg Sommrey",
+ "y" : 3,
+ "drilldown" : "Jorg Sommrey"
+ },
+ {
+ "drilldown" : "Laurent Rosenfeld",
+ "y" : 6,
+ "name" : "Laurent Rosenfeld"
+ },
+ {
+ "drilldown" : "Lubos Kolouch",
+ "y" : 4,
+ "name" : "Lubos Kolouch"
+ },
+ {
+ "y" : 11,
+ "name" : "Luca Ferrari",
+ "drilldown" : "Luca Ferrari"
+ },
+ {
+ "drilldown" : "Mariano Spadaccini",
+ "y" : 2,
+ "name" : "Mariano Spadaccini"
+ },
+ {
+ "drilldown" : "Mark Anderson",
+ "name" : "Mark Anderson",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Matthew Neleigh",
+ "name" : "Matthew Neleigh",
+ "y" : 2
+ },
+ {
+ "drilldown" : "Mustafa Aydin",
+ "y" : 2,
+ "name" : "Mustafa Aydin"
+ },
+ {
+ "drilldown" : "Nelo Tovar",
+ "y" : 2,
+ "name" : "Nelo Tovar"
+ },
+ {
+ "name" : "Niels van Dijke",
+ "y" : 2,
+ "drilldown" : "Niels van Dijke"
+ },
+ {
+ "drilldown" : "Packy Anderson",
+ "y" : 5,
+ "name" : "Packy Anderson"
+ },
+ {
+ "drilldown" : "Peter Campbell Smith",
+ "name" : "Peter Campbell Smith",
+ "y" : 3
+ },
+ {
+ "y" : 2,
+ "name" : "Peter Meszaros",
+ "drilldown" : "Peter Meszaros"
+ },
+ {
+ "drilldown" : "Robbie Hatley",
+ "y" : 3,
+ "name" : "Robbie Hatley"
+ },
+ {
+ "y" : 2,
+ "name" : "Robert Ransbottom",
+ "drilldown" : "Robert Ransbottom"
+ },
+ {
+ "drilldown" : "Roger Bell_West",
+ "y" : 5,
+ "name" : "Roger Bell_West"
+ },
+ {
+ "drilldown" : "Simon Green",
+ "y" : 3,
+ "name" : "Simon Green"
+ },
+ {
+ "name" : "Simon Proctor",
+ "y" : 1,
+ "drilldown" : "Simon Proctor"
+ },
+ {
+ "y" : 3,
+ "name" : "Stephen G. Lynn",
+ "drilldown" : "Stephen G. Lynn"
+ },
+ {
+ "drilldown" : "Thomas Kohler",
+ "y" : 4,
+ "name" : "Thomas Kohler"
+ },
+ {
+ "drilldown" : "Ulrich Rieke",
+ "y" : 3,
+ "name" : "Ulrich Rieke"
+ },
+ {
+ "drilldown" : "W. Luis Mochan",
+ "y" : 3,
+ "name" : "W. Luis Mochan"
+ },
+ {
+ "drilldown" : "Wanderdoc",
+ "y" : 2,
+ "name" : "Wanderdoc"
+ }
+ ]
+ }
+ ],
+ "drilldown" : {
+ "series" : [
+ {
+ "id" : "Ali Moradi",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Ali Moradi"
+ },
+ {
+ "data" : [
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Arne Sommer",
+ "id" : "Arne Sommer"
+ },
+ {
+ "id" : "Athanasius",
+ "name" : "Athanasius",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ]
+ ]
+ },
+ {
+ "id" : "BarrOff",
+ "name" : "BarrOff",
+ "data" : [
+ [
+ "Perl",
+ 1
+ ],
+ [
+ "Raku",
+ 1
+ ]
+ ]
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "name" : "Bob Lied",
+ "id" : "Bob Lied"
+ },
+ {
+ "id" : "Bruce Gray",
+ "data" : [
+ [
+ "Raku",
+ 2
+ ]
+ ],
+ "name" : "Bruce Gray"
+ },
+ {
+ "id" : "Cheok-Yin Fung",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "name" : "Cheok-Yin Fung"
+ },
+ {
+ "id" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ]
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "name" : "David Ferrone",
+ "id" : "David Ferrone"
+ },
+ {
+ "name" : "E. Choroba",
+ "data" : [
+ [
+ "Perl",
+ 2
+ ]
+ ],
+ "id" : "E. Choroba"
+ },
+ {
+ "data" : [
+ [
+ "Perl",
+ 2
+ ],
+ [
+ "Raku",
+ 2
+ ],
+ [
+ "Blog",
+ 1
+ ]
+ ],
+ "name" : "Jaldhar H. Vyas",
+ "id" : "Jaldhar H. Vyas"
+ },
+ {
+ "id" : "Jan Krnavek",