diff options
Diffstat (limited to 'challenge-011/feng-chang')
| -rw-r--r-- | challenge-011/feng-chang/README | 1 | ||||
| -rw-r--r-- | challenge-011/feng-chang/perl5/ch-2.pl | 16 | ||||
| -rwxr-xr-x | challenge-011/feng-chang/perl5/ch-3.pl | 26 | ||||
| -rw-r--r-- | challenge-011/feng-chang/perl6/ch-1.p6 | 3 | ||||
| -rw-r--r-- | challenge-011/feng-chang/perl6/ch-2.p6 | 8 | ||||
| -rw-r--r-- | challenge-011/feng-chang/perl6/ch-3.p6 | 24 |
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'; + } +} |
