diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-01-31 15:41:15 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-01-31 15:41:15 +0000 |
| commit | bb59e1f0b571d5968ec946e73f34b3379ec27adf (patch) | |
| tree | ce6cdfc87b1de61675122263bf60e7992533ed3b /challenge-045 | |
| parent | 0023167d0069bebc6ca109e0f48d99b2fd04e6ac (diff) | |
| download | perlweeklychallenge-club-bb59e1f0b571d5968ec946e73f34b3379ec27adf.tar.gz perlweeklychallenge-club-bb59e1f0b571d5968ec946e73f34b3379ec27adf.tar.bz2 perlweeklychallenge-club-bb59e1f0b571d5968ec946e73f34b3379ec27adf.zip | |
- Added solutions by Arne Sommer.
Diffstat (limited to 'challenge-045')
| -rw-r--r-- | challenge-045/arne-sommer/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/perl/ch-1.pl | 25 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/perl/ch-2.pl | 15 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/perl/ch-2a.pl | 8 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/perl/source-dumper-perl | 15 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/perl/source-dumper-perl-module | 8 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/perl/square-secret-code-perl | 25 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/raku/ch-1.p6 | 24 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/raku/ch-2.p6 | 3 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/raku/source-dumper | 3 | ||||
| -rwxr-xr-x | challenge-045/arne-sommer/raku/square-secret-code | 24 |
11 files changed, 151 insertions, 0 deletions
diff --git a/challenge-045/arne-sommer/blog.txt b/challenge-045/arne-sommer/blog.txt new file mode 100644 index 0000000000..75edc1c4a1 --- /dev/null +++ b/challenge-045/arne-sommer/blog.txt @@ -0,0 +1 @@ +https://raku-musings.com/square-dumper.html diff --git a/challenge-045/arne-sommer/perl/ch-1.pl b/challenge-045/arne-sommer/perl/ch-1.pl new file mode 100755 index 0000000000..931ad0badf --- /dev/null +++ b/challenge-045/arne-sommer/perl/ch-1.pl @@ -0,0 +1,25 @@ +#! /usr/bin/env perl + +my $string = $ARGV[0] || "The quick brown fox jumps over the lazy dog"; + +$string =~ tr/ //d; + +my @a = split(//, lc $string); + +@a.shift; +@a.pop; + +for my $word (0 .. 7) +{ + my $index = $word; + while (1) + { + defined $a[$index] + ? print $a[$index] + : print(" ") && last; + + $index += 8; + } +} + +print "\n"; diff --git a/challenge-045/arne-sommer/perl/ch-2.pl b/challenge-045/arne-sommer/perl/ch-2.pl new file mode 100755 index 0000000000..a072963813 --- /dev/null +++ b/challenge-045/arne-sommer/perl/ch-2.pl @@ -0,0 +1,15 @@ +#! /usr/bin/env perl + +use strict; +use warnings; + +my $file = $0; + +if (open(my $fh, $file)) +{ + while (my $row = <$fh>) + { + print $row; + } + close $fh; +} diff --git a/challenge-045/arne-sommer/perl/ch-2a.pl b/challenge-045/arne-sommer/perl/ch-2a.pl new file mode 100755 index 0000000000..9750b8a93e --- /dev/null +++ b/challenge-045/arne-sommer/perl/ch-2a.pl @@ -0,0 +1,8 @@ +#! /usr/bin/env perl + +use File::Slurper 'read_text'; + +use strict; +use warnings; + +print read_text($0); diff --git a/challenge-045/arne-sommer/perl/source-dumper-perl b/challenge-045/arne-sommer/perl/source-dumper-perl new file mode 100755 index 0000000000..a072963813 --- /dev/null +++ b/challenge-045/arne-sommer/perl/source-dumper-perl @@ -0,0 +1,15 @@ +#! /usr/bin/env perl + +use strict; +use warnings; + +my $file = $0; + +if (open(my $fh, $file)) +{ + while (my $row = <$fh>) + { + print $row; + } + close $fh; +} diff --git a/challenge-045/arne-sommer/perl/source-dumper-perl-module b/challenge-045/arne-sommer/perl/source-dumper-perl-module new file mode 100755 index 0000000000..9750b8a93e --- /dev/null +++ b/challenge-045/arne-sommer/perl/source-dumper-perl-module @@ -0,0 +1,8 @@ +#! /usr/bin/env perl + +use File::Slurper 'read_text'; + +use strict; +use warnings; + +print read_text($0); diff --git a/challenge-045/arne-sommer/perl/square-secret-code-perl b/challenge-045/arne-sommer/perl/square-secret-code-perl new file mode 100755 index 0000000000..931ad0badf --- /dev/null +++ b/challenge-045/arne-sommer/perl/square-secret-code-perl @@ -0,0 +1,25 @@ +#! /usr/bin/env perl + +my $string = $ARGV[0] || "The quick brown fox jumps over the lazy dog"; + +$string =~ tr/ //d; + +my @a = split(//, lc $string); + +@a.shift; +@a.pop; + +for my $word (0 .. 7) +{ + my $index = $word; + while (1) + { + defined $a[$index] + ? print $a[$index] + : print(" ") && last; + + $index += 8; + } +} + +print "\n"; diff --git a/challenge-045/arne-sommer/raku/ch-1.p6 b/challenge-045/arne-sommer/raku/ch-1.p6 new file mode 100755 index 0000000000..d56254c4b1 --- /dev/null +++ b/challenge-045/arne-sommer/raku/ch-1.p6 @@ -0,0 +1,24 @@ +#! /usr/bin/env raku + +unit sub MAIN ($string is copy = "The quick brown fox jumps over the lazy dog", :$verbose); + +$string ~~ tr/" "//; + +say ": { $string.lc }" if $verbose; + +my @a = $string.lc.comb; + +for 0 .. 7 -> $word +{ + my $index = $word; + loop + { + @a[$index]:exists + ?? print @a[$index] + !! ( print " "; last); + + $index += 8; + } +} + +say ""; diff --git a/challenge-045/arne-sommer/raku/ch-2.p6 b/challenge-045/arne-sommer/raku/ch-2.p6 new file mode 100755 index 0000000000..3a57fa4276 --- /dev/null +++ b/challenge-045/arne-sommer/raku/ch-2.p6 @@ -0,0 +1,3 @@ +#! /usr/bin/env raku + +print $?FILE.IO.slurp; diff --git a/challenge-045/arne-sommer/raku/source-dumper b/challenge-045/arne-sommer/raku/source-dumper new file mode 100755 index 0000000000..3a57fa4276 --- /dev/null +++ b/challenge-045/arne-sommer/raku/source-dumper @@ -0,0 +1,3 @@ +#! /usr/bin/env raku + +print $?FILE.IO.slurp; diff --git a/challenge-045/arne-sommer/raku/square-secret-code b/challenge-045/arne-sommer/raku/square-secret-code new file mode 100755 index 0000000000..d56254c4b1 --- /dev/null +++ b/challenge-045/arne-sommer/raku/square-secret-code @@ -0,0 +1,24 @@ +#! /usr/bin/env raku + +unit sub MAIN ($string is copy = "The quick brown fox jumps over the lazy dog", :$verbose); + +$string ~~ tr/" "//; + +say ": { $string.lc }" if $verbose; + +my @a = $string.lc.comb; + +for 0 .. 7 -> $word +{ + my $index = $word; + loop + { + @a[$index]:exists + ?? print @a[$index] + !! ( print " "; last); + + $index += 8; + } +} + +say ""; |
