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

Re: Variant permutation

by Abigail-II (Bishop)
on Aug 30, 2003 at 11:15 UTC ( #287901=note: print w/replies, xml ) Need Help??

in reply to Variant permutation

#!/usr/bin/perl use strict; use warnings; sub perm; sub perm { my $array = shift; if (@$array > 1) { my $first = shift @$array; my @results = perm $array; my @all; foreach my $f (@$first) { foreach my $r (@results) { push @all => "$f$r"; } push @all => $f; } return @all; } return @{$array -> [0]} if @$array == 1; } my @results = perm [['a', 'b', 'c'], [ 1, 2], ['x', 'y', 'z'], [ 7, 8, 9]]; print "@results\n"; __END__ a1x7 a1x8 a1x9 a1x a1y7 a1y8 a1y9 a1y a1z7 a1z8 a1z9 a1z a1 a2x7 a2x8 a2x9 a2x a2y7 a2y8 a2y9 a2y a2z7 a2z8 a2z9 a2z a2 a b1x7 b1x8 b1x9 b1x b1y7 b1y8 b1y9 b1y b1z7 b1z8 b1z9 b1z b1 b2x7 b2x8 b2x9 b2x b2y7 b2y8 b2y9 b2y b2z7 b2z8 b2z9 b2z b2 b c1x7 c1x8 c1x9 c1x c1y7 c1y8 c1y9 c1y c1z7 c1z8 c1z9 c1z c1 c2x7 c2x8 c2x9 c2x c2y7 c2y8 c2y9 c2y c2z7 c2z8 c2z9 c2z c2 c

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2017-12-13 22:48 GMT
Find Nodes?
    Voting Booth?
    What programming language do you hate the most?

    Results (381 votes). Check out past polls.