Beefy Boxes and Bandwidth Generously Provided by pair Networks RobOMonk
XP is just a number
 
PerlMonks  

Characters Combinations of All Sizes

by monkfan (Curate)
on May 01, 2005 at 08:01 UTC ( #452988=snippet: print w/ replies, xml ) Need Help??

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'
        ];

Comment on Characters Combinations of All Sizes
Select or Download Code
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

Back to Snippets Section

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://452988]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (7)
As of 2014-04-19 05:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (478 votes), past polls