Help for this page
use Algorithm::Loops 'NestedLoops'; ... [ @pat{ split //, $pattern } ], sub { print join("", @_), $/ } );
my %pat = ( L => ['a' .. 'z'], ... my $glob = join "", @pat{ split //, $pattern }; print "$_\n" for glob($glob);