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