diff options
| -rwxr-xr-x | challenge-015/ruben-westerberg/perl6/ch-2.pl | 18 |
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]; + } +} |
