blob: 2db2c332e826034f8ee2eebb6035e85fb3c9703d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#!/usr/bin/env perl6
use v6.c;
sub MAIN(Int $count = 2) {
die "ERROR: Invalid count $count.\n"
unless $count ~~ any (1, 2, 3, 4, 5);
my @chars = <a e i o u>;
if $count == 1 {
say @chars.join("\n");
exit;
}
my @char-sets = @chars.combinations: $count;
my @comb-sets = @char-sets.map({ .join });
my @rules = (
rx/ a<[ie]> /,
rx/ e<[i]> /,
rx/ i<[aeou]> /,
rx/ o<[au]> /,
rx/ u<[oe]> /,
);
for @comb-sets -> $str {
my $pass = False;
for @rules -> $rule {
if $str ~~ /$rule/ {
$pass = True;
}
}
say $str if $pass;
}
}
|