Exactly my thought. I think that is the way to go - provide an API to the permutation engine, and the the UI just calls those functions as appropriate. The same engine can then be used in any program that wants it, as the details of presentation are then completely separate from the generation of the permutation sets.
in reply to Re^2: Csgrouper : first important revision since release
in thread Csgrouper : first important revision since release
That could even be its own separate CPAN module if you wanted to do it that way.