aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuben Westerberg <drclaw@mac.com>2019-07-03 08:35:45 +1000
committerRuben Westerberg <drclaw@mac.com>2019-07-03 08:35:45 +1000
commit2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89 (patch)
treef66fabda50948b90d564cd8bf218c03461ad4aa3
parentd88862c38829e35a41d41adde76d3855fa1ce921 (diff)
downloadperlweeklychallenge-club-2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89.tar.gz
perlweeklychallenge-club-2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89.tar.bz2
perlweeklychallenge-club-2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89.zip
Added perl6 solution to ch2
-rwxr-xr-xchallenge-015/ruben-westerberg/perl6/ch-2.pl18
1 files changed, 18 insertions, 0 deletions
diff --git a/challenge-015/ruben-westerberg/perl6/ch-2.pl b/challenge-015/ruben-westerberg/perl6/ch-2.pl
new file mode 100755
index 0000000000..acf493a209
--- /dev/null
+++ b/challenge-015/ruben-westerberg/perl6/ch-2.pl
@@ -0,0 +1,18 @@
+#!/usr/bin/env perl6
+
+sub MAIN (
+ Str $key,
+ Bool :$decode,
+ Str :$file
+) {
+ $*OUT.out-buffer=0;
+ my @alpha=("a".."z","A".."Z"," ", <? ! . : >)[*;*];
+ my @a=@alpha.keys;
+ my @k=$key.comb.map(-> $c {|@alpha.grep($c,:k)});
+ for $*IN.lines -> $line {
+ my @in= $line.comb.map(->$c {|@alpha.grep($c,:k)});
+ my @t= $decode?? @in >>+>> @k !!@in >>->> @k;;
+ @t >>%=>> @a.elems;
+ put join "", @alpha[@t];
+ }
+}