Description: The snippet uses Math::Combinatorics module. Given a set of characters as an array. It returns all the possible combinations of the characters ranging from 1 character to total size of the array.

Update: Data::Dumper included. Thanks to zentara.
#!/usr/bin/perl -w
use strict;
use Data::Dumper;

my @n = ('A' .. 'C');
my @all_string = get_char_comb(@n);

print "There are: ",scalar(@all_string)," strings\n";
print Dumper \@all_string;

sub get_char_comb
{
    use Math::Combinatorics;

    my @alph = @_;
    my @all;

    foreach ( 0 .. $#alph+1  )
    {
        my $combinat = Math::Combinatorics->new( count => $_,
                                                 data => [@alph],
                                                );

        while(my @permu = $combinat->next_combination)
        {
            push @all, join("",@permu);
        }

    }
        return @all;
}
Output:
$VAR1 = [
          'A',
          'B',
          'C',
          'AB',
          'AC',
          'BC',
          'ABC'
        ];
Replies are listed 'Best First'.
Re: Characters Combinations of All Size
by zentara (Archbishop) on May 01, 2005 at 12:23 UTC
    You forgot a "use Data::Dumper;".

    I'm not really a human, but I play one on earth. flash japh