20 lines
437 B
Text
20 lines
437 B
Text
|
#!/usr/bin/env raku
|
|||
|
|
|||
|
#| convert arguments or stdin to fullwidth characters
|
|||
|
unit sub MAIN(*@args);
|
|||
|
|
|||
|
sub widen(Str $str) {
|
|||
|
my %map = (['!'..'~'] Z ['!'..'~']).Map, ' ' => ' ';
|
|||
|
my @rejects = $str.comb.grep: {$^x !~~ /\s/ && $^x ∉ %map};
|
|||
|
note "unknown characters: @rejects.join(', ')" if @rejects;
|
|||
|
$str.trans: %map
|
|||
|
}
|
|||
|
|
|||
|
if @args > 0 {
|
|||
|
say widen @args.join: ' '
|
|||
|
} else {
|
|||
|
say widen $_ for $*IN.lines
|
|||
|
}
|
|||
|
|
|||
|
# vim: set ft=perl6 :
|