use strict;
use Algorithm::Loops qw( NextPermute );
####
my @list= sort ('A'..'B'); # Find unique permutations for AB?
my $cnt;
my @list1;
##
##
# $l represents one blank tile cycling thru all letter values
for my $l ('A'..'Z') {
##
##
@list1 = sort(@list,$l); # Very important to sort
print"@list1\n"; # Show what's happening
##
##
printf"%5d. ", ++$cnt;
print"@list1\n"; # Display permutations
} while( NextPermute( @list1 ) );
}
##
##
print"Counted $cnt unique permutations";
print $/;
##
##
A A B
1. A A B
2. A B A
3. B A A
A B B
4. A B B
5. B A B
6. B B A
A B C
7. A B C
8. A C B
9. B A C
10. B C A
11. C A B
12. C B A
A B D
13. A B D
14. A D B
15. B A D
16. B D A
17. D A B
18. D B A
...
...
...
Counted 150 unique permutations