aboutsummaryrefslogtreecommitdiff
path: root/challenge-001/simon-proctor
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2019-03-31 07:07:08 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2019-03-31 07:07:08 +0100
commit3a9fb9543df4b96c1ddfa448430904a79725bc87 (patch)
tree6e4af0d85ca80ec8918b870634fecff25540908a /challenge-001/simon-proctor
parent9f6decc59edcef202bfddc3d662400a0ad611156 (diff)
downloadperlweeklychallenge-club-3a9fb9543df4b96c1ddfa448430904a79725bc87.tar.gz
perlweeklychallenge-club-3a9fb9543df4b96c1ddfa448430904a79725bc87.tar.bz2
perlweeklychallenge-club-3a9fb9543df4b96c1ddfa448430904a79725bc87.zip
- Solutions for challenge #001.
Diffstat (limited to 'challenge-001/simon-proctor')
-rw-r--r--challenge-001/simon-proctor/perl5/ch-1.pl14
-rw-r--r--challenge-001/simon-proctor/perl5/ch-2.pl8
-rw-r--r--challenge-001/simon-proctor/perl6/ch-1.p65
-rw-r--r--challenge-001/simon-proctor/perl6/ch-1.sh1
-rw-r--r--challenge-001/simon-proctor/perl6/ch-2.p615
5 files changed, 43 insertions, 0 deletions
diff --git a/challenge-001/simon-proctor/perl5/ch-1.pl b/challenge-001/simon-proctor/perl5/ch-1.pl
new file mode 100644
index 0000000000..1911616bf5
--- /dev/null
+++ b/challenge-001/simon-proctor/perl5/ch-1.pl
@@ -0,0 +1,14 @@
+use v5.10;
+use strict;
+
+my $s = "Perl Weekly Challenge";
+my $c = 0;
+$c++ while $s =~ s!e!E!;
+say "Updated $s";
+say "Number of matches : $c";
+
+#$s = "Perl Weekly Challenge";
+#$c = 0;
+#$c++ while $s ~~ s!e!E!;
+#say "Updated $s";
+#say "Number of matches : $c";
diff --git a/challenge-001/simon-proctor/perl5/ch-2.pl b/challenge-001/simon-proctor/perl5/ch-2.pl
new file mode 100644
index 0000000000..c72e6672d6
--- /dev/null
+++ b/challenge-001/simon-proctor/perl5/ch-2.pl
@@ -0,0 +1,8 @@
+use v5.10;
+use strict;
+
+sub fz { $_[0] % 3 == 0 ? "Fizz" : "" }
+sub bz { $_[0] % 5 == 0 ? "Buzz" : "" }
+sub fb { my $i = shift; (fz( $i ) . bz( $i ) ) || $i }
+
+say join( "\n", map { fb($_) } (1..20) )
diff --git a/challenge-001/simon-proctor/perl6/ch-1.p6 b/challenge-001/simon-proctor/perl6/ch-1.p6
new file mode 100644
index 0000000000..e0157b244a
--- /dev/null
+++ b/challenge-001/simon-proctor/perl6/ch-1.p6
@@ -0,0 +1,5 @@
+my $s = "Perl Weekly Challenge";
+my $c = 0;
+$c++ while $s ~~ s!e!E!;
+say "Updated $s";
+say "Number of matches : $c";
diff --git a/challenge-001/simon-proctor/perl6/ch-1.sh b/challenge-001/simon-proctor/perl6/ch-1.sh
new file mode 100644
index 0000000000..79ef168331
--- /dev/null
+++ b/challenge-001/simon-proctor/perl6/ch-1.sh
@@ -0,0 +1 @@
+perl6 -e 'my $s = "Perl Weekly Challenge";"Number of e {($s ~~ m:g/e/).elems.say}";$s ~~ s:g/e/E/;"Updated {$s.say}"'
diff --git a/challenge-001/simon-proctor/perl6/ch-2.p6 b/challenge-001/simon-proctor/perl6/ch-2.p6
new file mode 100644
index 0000000000..0cbb1ce478
--- /dev/null
+++ b/challenge-001/simon-proctor/perl6/ch-2.p6
@@ -0,0 +1,15 @@
+#sub prefix:<fb> (Int $i) {
+# $i %% 15 ?? "FizzBuzz"
+# !! $i %% 5 ?? "Buzz"
+# !! $i %% 3 ?? "Fizz"
+# !! $i
+#}
+
+#(1..20).map( fb * ).join("\n").say;
+
+
+sub prefix:<fz> (Int $i) { $i %% 3 ?? "Fizz" !! "" }
+sub prefix:<bz> (Int $i) { $i %% 5 ?? "Buzz" !! "" }
+sub prefix:<fb> (Int $i) { (fz $i ~ bz $i) || $i.Str }
+
+(1..20).map( fb * ).join("\n").say;