in reply to CPAN module to return successive combinations of n things taken k at a time
#! perl -slw use strict; use Algorithm::Combinatorics qw[ combinations combinations_with_repeti +tion ]; our $K //= 3; our $ALPHA //= join '', 'a'..'d'; my @alpha = split '', $ALPHA; print "$K from [@alpha] without repetition"; my $iter = combinations( \@alpha, $K ); print "@$_" while $_= $iter->next; print "$K from [@alpha] with repetition"; $iter = combinations_with_repetition( \@alpha, $K ); print "@$_" while $_= $iter->next; __END__ C:\test>1117899 3 from [a b c d] without repetition a b c a b d a c d b c d 3 from [a b c d] with repetition a a a a a b a a c a a d a b b a b c a b d a c c a c d a d d b b b b b c b b d b c c b c d b d d c c c c c d c d d d d d
|
|---|