YAPC::EU 2018 Glasgow Update!
This commit is contained in:
parent
22f33d4004
commit
4e2d22a71d
1170 changed files with 15042 additions and 3047 deletions
|
|
@ -1,7 +1,17 @@
|
|||
sub find {
|
||||
my @m = qw/$ $ abc def ghi jkl mno pqrs tvu wxyz/;
|
||||
(my $r = shift) =~ s{(\d)}{[$m[$1]]}g;
|
||||
grep /^$r$/i, split ' ', `cat words.txt`; # cats don't run on windows
|
||||
}
|
||||
my $src = 'unixdict.txt';
|
||||
|
||||
print join("\n", $_, find($_)), "\n\n" for @ARGV
|
||||
# filter word-file for valid input, transform to low-case
|
||||
open $fh, "<", $src;
|
||||
@words = grep { /^[a-zA-Z]+$/ } <$fh>;
|
||||
map { tr/A-Z/a-z/ } @words;
|
||||
|
||||
# translate words to dials
|
||||
map { tr/abcdefghijklmnopqrstuvwxyz/22233344455566677778889999/ } @dials = @words;
|
||||
|
||||
# get unique values (modify @dials) and non-unique ones (are textonyms)
|
||||
@dials = grep {!$h{$_}++} @dials;
|
||||
@textonyms = grep { $h{$_} > 1 } @dials;
|
||||
|
||||
print "There are @{[scalar @words]} words in '$src' which can be represented by the digit key mapping.
|
||||
They require @{[scalar @dials]} digit combinations to represent them.
|
||||
@{[scalar @textonyms]} digit combinations represent Textonyms.";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue