RosettaCodeData/Task/Morse-code/Perl-6/morse-code.pl6

65 lines
850 B
Raku
Raw Permalink Normal View History

2013-04-10 22:43:41 -07:00
my %m = ' ', '_ _ ',
2015-11-18 06:14:39 +00:00
|<
2013-04-10 22:43:41 -07:00
! ---.
" .-..-.
$ ...-..-
' .----.
( -.--.
) -.--.-
+ .-.-.
, --..--
- -....-
. .-.-.-
/ -..-.
: ---...
; -.-.-.
= -...-
? ..--..
@ .--.-.
[ -.--.
] -.--.-
_ ..--.-
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
A .-
B -...
C -.-.
D -..
E .
F ..-.
G --.
H ....
I ..
J .---
K -.-
L .-..
M --
N -.
O ---
P .--.
Q --.- --
R .-.
S ...
T -
U ..-
V ...-
W .--
X -..-
Y -.--
Z --..
>.map: -> $c, $m is copy {
$m.=subst(rx/'-'/, 'BGAAACK!!! ', :g);
$m.=subst(rx/'.'/, 'buck ', :g);
2015-11-18 06:14:39 +00:00
$c => $m ~ '_';
2013-04-10 22:43:41 -07:00
}
say prompt("Gimme a string: ").uc.comb.map: { %m{$_} // "<scratch> " }