diff options
| author | Ruben Westerberg <drclaw@mac.com> | 2019-07-03 08:35:45 +1000 |
|---|---|---|
| committer | Ruben Westerberg <drclaw@mac.com> | 2019-07-03 08:35:45 +1000 |
| commit | 2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89 (patch) | |
| tree | f66fabda50948b90d564cd8bf218c03461ad4aa3 | |
| parent | d88862c38829e35a41d41adde76d3855fa1ce921 (diff) | |
| download | perlweeklychallenge-club-2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89.tar.gz perlweeklychallenge-club-2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89.tar.bz2 perlweeklychallenge-club-2691b15ae16bde92d5c1b4d9d521b6d50eb9ee89.zip | |
Added perl6 solution to ch2
| -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]; + } +} |
