aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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];
+ }
+}