use 5.011;
use Path::Tiny;
my $n = 10;
my @board = map{ [('.') x $n] } 0..($n-1);
print "Empty board:\n";
foreach my $row(@board){
foreach my $col( @$row ){
print $col;
}
print "\n";
}
use List::Util qw( shuffle );
my @letters = split //, 'aaaaaaaaabbccddddeeeeeeeeeeeeffgggghhiiiiiiiiijkllllmmnnnnnnooooooooppqrrrrrrssssttttttuuuuvvwwxyyz';
my @tiles = ( shuffle @letters )[0 .. 6];
print "tiles: @tiles\n";
my $pattern = join '', map "$_?", sort @tiles;
my @matches = grep join('', sort split //) =~ /^$pattern$/,
grep /^[@tiles]{2,}\z/ && /[aeiouy]/, # lc, size & vowel
path('c:\users\tblaz\documents\html_template_data\dict\enable1.txt')->lines({chomp => 1});
print "\nmatches:\n\n@matches\n";
__END__
####
Microsoft Windows [Version 10.0.17763.805]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Users\tblaz\Documents\evelyn>perl 3.letters.pl
Empty board:
..........
..........
..........
..........
..........
..........
..........
..........
..........
..........
tiles: m l i r p g m
matches:
gimp gip girl glim grim grip imp li limp lip mi mig mil mim mir pi pig prig prim rig rim rip
C:\Users\tblaz\Documents\evelyn>
##
##
my @board;
foreach my $row(0..14){
foreach my $col( 0..14 ){
$board[$row][$col] = { letter => '.', lett_mod => 1, word_mod => 1};
}
}