#!/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 :