aboutsummaryrefslogtreecommitdiff
path: root/challenge-045
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-02-02 22:04:18 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-02-02 22:04:18 +0000
commitb757da25fab464639249641c7d21f2485c1bba0e (patch)
treed66cabbd1802b14af950183a274884afc1c0d021 /challenge-045
parentff289dff5f994a5b437fe45e0513b2cad8d34f17 (diff)
downloadperlweeklychallenge-club-b757da25fab464639249641c7d21f2485c1bba0e.tar.gz
perlweeklychallenge-club-b757da25fab464639249641c7d21f2485c1bba0e.tar.bz2
perlweeklychallenge-club-b757da25fab464639249641c7d21f2485c1bba0e.zip
- Added solutions by Laurent Rosenfeld.
Diffstat (limited to 'challenge-045')
-rw-r--r--challenge-045/laurent-rosenfeld/blog.txt1
-rw-r--r--challenge-045/laurent-rosenfeld/perl/ch-1.pl11
-rw-r--r--challenge-045/laurent-rosenfeld/perl/ch-1a.pl12
-rw-r--r--challenge-045/laurent-rosenfeld/perl/ch-2.pl7
-rw-r--r--challenge-045/laurent-rosenfeld/raku/ch-1.p69
-rw-r--r--challenge-045/laurent-rosenfeld/raku/ch-2.p63
-rw-r--r--challenge-045/laurent-rosenfeld/raku/ch-2a.p64
7 files changed, 47 insertions, 0 deletions
diff --git a/challenge-045/laurent-rosenfeld/blog.txt b/challenge-045/laurent-rosenfeld/blog.txt
new file mode 100644
index 0000000000..13ae8b6866
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/blog.txt
@@ -0,0 +1 @@
+http://blogs.perl.org/users/laurent_r/2020/02/perl-weekly-challenge-45-square-secret-code-and-source-dumper.html
diff --git a/challenge-045/laurent-rosenfeld/perl/ch-1.pl b/challenge-045/laurent-rosenfeld/perl/ch-1.pl
new file mode 100644
index 0000000000..2fcaa7d2f3
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/perl/ch-1.pl
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+use feature "say";
+
+my $msg = shift // "The quick brown fox jumps over the lazy dog";
+$msg =~ s/\s+//g;
+my @letters = map { /.{1,8}/g; } $msg;
+for my $i (0..7) {
+ print map { substr $_, $i, 1 if length $_ >= $i} @letters;
+ print " ";
+}
diff --git a/challenge-045/laurent-rosenfeld/perl/ch-1a.pl b/challenge-045/laurent-rosenfeld/perl/ch-1a.pl
new file mode 100644
index 0000000000..e3f8669b42
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/perl/ch-1a.pl
@@ -0,0 +1,12 @@
+use strict;
+use warnings;
+use feature "say";
+
+my $msg = shift // "The quick brown fox jumps over the lazy dog";
+$msg =~ s/\s+//g;
+$msg =~ s/(.{8})/$1\n/g;
+my @lines = split /\n/, $msg;
+for my $i (0..7) {
+ print map { substr $_, $i, 1 if length $_ >= $i} @lines;
+ print " ";
+}
diff --git a/challenge-045/laurent-rosenfeld/perl/ch-2.pl b/challenge-045/laurent-rosenfeld/perl/ch-2.pl
new file mode 100644
index 0000000000..f15594e4e8
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/perl/ch-2.pl
@@ -0,0 +1,7 @@
+use strict;
+use warnings;
+
+my $progr = "./$0";
+open my $IN, "<", $progr or die "Unable to open $progr $!";
+print while <$IN>;
+close $IN;
diff --git a/challenge-045/laurent-rosenfeld/raku/ch-1.p6 b/challenge-045/laurent-rosenfeld/raku/ch-1.p6
new file mode 100644
index 0000000000..ca3bffd022
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/raku/ch-1.p6
@@ -0,0 +1,9 @@
+use v6;
+
+my $msg = @*ARGS ?? shift @*ARGS
+ !! "The quick brown fox jumps over the lazy dog";
+$msg ~~ s:g/\s+//;
+my @letters = map { ~ $_}, $msg ~~ m:g/ .**1..8/;
+for 0..7 -> $i {
+ print " ", join "", map { substr $_, $i, 1 if .chars >= $i}, @letters;
+}
diff --git a/challenge-045/laurent-rosenfeld/raku/ch-2.p6 b/challenge-045/laurent-rosenfeld/raku/ch-2.p6
new file mode 100644
index 0000000000..f3178b9aa6
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/raku/ch-2.p6
@@ -0,0 +1,3 @@
+use v6;
+
+$?FILE.IO.slurp.say;
diff --git a/challenge-045/laurent-rosenfeld/raku/ch-2a.p6 b/challenge-045/laurent-rosenfeld/raku/ch-2a.p6
new file mode 100644
index 0000000000..d226440f37
--- /dev/null
+++ b/challenge-045/laurent-rosenfeld/raku/ch-2a.p6
@@ -0,0 +1,4 @@
+use v6;
+
+my $progr = "$?FILE";
+$progr.IO.slurp.say;