# Regular QOTW #8
# http://perl.plover.com/qotw/r/solution/008
use v6-alpha;
my $SEG_LENGTH = 4;
my %wordmap;
for =<> -> $word is copy {
next if $word ~~ /\W/;
my $w = $word.lc;
my %w = map -> $i { substr($w,$i,$SEG_LENGTH)=>1 },
0..$word.chars-$SEG_LENGTH;
for keys %w -> $w {
%wordmap{$w} = %wordmap.exists($w) ?? undef !! $word;
}
}
my $q = open("questions",:w) or die;
my $a = open("answers",:w) or die;
for (sort keys %wordmap) {
next unless defined %wordmap{$_};
say $q: $_;
say $a: %wordmap{$_};
}
$q.close; $a.close;