aboutsummaryrefslogtreecommitdiff
path: root/challenge-011/feng-chang
diff options
context:
space:
mode:
authordrclaw1394 <drclaw@mac.com>2019-06-10 20:56:34 +1000
committerGitHub <noreply@github.com>2019-06-10 20:56:34 +1000
commit5c1663e3f7a4bf8767cd62c4e7db03186561edb2 (patch)
tree2a0fa3af0f3b0fd5a71a9ae67984f4fa2adb8aa1 /challenge-011/feng-chang
parentb577c5e4a0a63be26d335cb74580c1ae721105c0 (diff)
parente874646e75a09fbe9c9f248e2071bc4182973b7f (diff)
downloadperlweeklychallenge-club-5c1663e3f7a4bf8767cd62c4e7db03186561edb2.tar.gz
perlweeklychallenge-club-5c1663e3f7a4bf8767cd62c4e7db03186561edb2.tar.bz2
perlweeklychallenge-club-5c1663e3f7a4bf8767cd62c4e7db03186561edb2.zip
Merge pull request #11 from manwar/master
update to week 12
Diffstat (limited to 'challenge-011/feng-chang')
-rw-r--r--challenge-011/feng-chang/README1
-rw-r--r--challenge-011/feng-chang/perl5/ch-2.pl16
-rwxr-xr-xchallenge-011/feng-chang/perl5/ch-3.pl26
-rw-r--r--challenge-011/feng-chang/perl6/ch-1.p63
-rw-r--r--challenge-011/feng-chang/perl6/ch-2.p68
-rw-r--r--challenge-011/feng-chang/perl6/ch-3.p624
6 files changed, 78 insertions, 0 deletions
diff --git a/challenge-011/feng-chang/README b/challenge-011/feng-chang/README
new file mode 100644
index 0000000000..74e56de3ed
--- /dev/null
+++ b/challenge-011/feng-chang/README
@@ -0,0 +1 @@
+Solutions by Feng Chang.
diff --git a/challenge-011/feng-chang/perl5/ch-2.pl b/challenge-011/feng-chang/perl5/ch-2.pl
new file mode 100644
index 0000000000..197278775c
--- /dev/null
+++ b/challenge-011/feng-chang/perl5/ch-2.pl
@@ -0,0 +1,16 @@
+#!/bin/env perl
+
+use Modern::Perl;
+use Data::Dumper;
+
+my $n = shift;
+my @a;
+
+for my $i (0 .. $n - 1) {
+ my @b = (0) x $n;
+ $b[$i] = 1;
+
+ push(@a, \@b);
+}
+
+print Dumper(\@a);
diff --git a/challenge-011/feng-chang/perl5/ch-3.pl b/challenge-011/feng-chang/perl5/ch-3.pl
new file mode 100755
index 0000000000..469483b200
--- /dev/null
+++ b/challenge-011/feng-chang/perl5/ch-3.pl
@@ -0,0 +1,26 @@
+#!/bin/env perl
+
+use Modern::Perl;
+use WWW::Mechanize;
+use JSON;
+use Data::Dumper;
+use Getopt::Long;
+
+my $base_url = 'http://api.openweathermap.org/data/2.5/weather';
+my $app_id = 'appid=82642c9af842d8d57f7df99b291e0e75';
+
+my $city = 'london';
+my $country = '';
+
+GetOptions(
+ 'city=s' => \$city,
+ 'country=s' => \$country,
+);
+
+my $m = WWW::Mechanize->new() or die "cannot initialize robot\n";
+
+my $url = "$base_url?q=$city";
+$url .= ",$country" if $country;
+$url .= "&$app_id";
+
+print Dumper(decode_json($m->content)) if $m->get($url);
diff --git a/challenge-011/feng-chang/perl6/ch-1.p6 b/challenge-011/feng-chang/perl6/ch-1.p6
new file mode 100644
index 0000000000..fc16353b45
--- /dev/null
+++ b/challenge-011/feng-chang/perl6/ch-1.p6
@@ -0,0 +1,3 @@
+#!/bin/env perl6
+
+(-32 * 5 / (9 - 5)).say;
diff --git a/challenge-011/feng-chang/perl6/ch-2.p6 b/challenge-011/feng-chang/perl6/ch-2.p6
new file mode 100644
index 0000000000..59ca4dc214
--- /dev/null
+++ b/challenge-011/feng-chang/perl6/ch-2.p6
@@ -0,0 +1,8 @@
+#!/bin/env perl6
+
+sub MAIN(Int $n where * > 0) {
+ my @a = [0 xx $n] xx $n;
+ @a[$_][$_] = 1 for 0 .. $n - 1;
+
+ @a.say;
+}
diff --git a/challenge-011/feng-chang/perl6/ch-3.p6 b/challenge-011/feng-chang/perl6/ch-3.p6
new file mode 100644
index 0000000000..3b3660edf1
--- /dev/null
+++ b/challenge-011/feng-chang/perl6/ch-3.p6
@@ -0,0 +1,24 @@
+#!/bin/env perl6
+
+use HTTP::UserAgent;
+use JSON::Tiny;
+use Data::Dump;
+
+my Str $base_url = 'http://api.openweathermap.org/data/2.5/weather';
+my Str $app_id = 'appid=82642c9af842d8d57f7df99b291e0e75';
+
+sub MAIN(
+ Str :$city = 'london',
+ Str :$country = '',
+) {
+ my $ua = HTTP::UserAgent.new;
+
+ my $url = "$base_url?q={ $city }{ (',' ~ $country) if $country }&$app_id";
+
+ my $resp = $ua.get($url);
+ if $resp.is-success {
+ say Dump(from-json($resp.content));
+ } else {
+ say 'fetch error';
+ }
+}