65 lines
850 B
Raku
65 lines
850 B
Raku
my %m = ' ', '_ _ ',
|
|
|<
|
|
! ---.
|
|
" .-..-.
|
|
$ ...-..-
|
|
' .----.
|
|
( -.--.
|
|
) -.--.-
|
|
+ .-.-.
|
|
, --..--
|
|
- -....-
|
|
. .-.-.-
|
|
/ -..-.
|
|
: ---...
|
|
; -.-.-.
|
|
= -...-
|
|
? ..--..
|
|
@ .--.-.
|
|
[ -.--.
|
|
] -.--.-
|
|
_ ..--.-
|
|
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);
|
|
$c => $m ~ '_';
|
|
}
|
|
|
|
say prompt("Gimme a string: ").uc.comb.map: { %m{$_} // "<scratch> " }
|