Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

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;
$VAR1 = [

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
Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://452988]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (12)
As of 2017-06-22 13:12 GMT
Find Nodes?
    Voting Booth?
    How many monitors do you use while coding?

    Results (520 votes). Check out past polls.