Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

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 the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (13)
As of 2016-10-24 08:32 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (304 votes). Check out past polls.