#!/usr/bin/perl -w use strict; my @clrs = ('00','33','66','99','CC','FF'); my $sw; print '#',join('',@$_),(++$sw%6?$":$/) for permute(\@clrs,\@clrs,\@clrs); sub permute { my $last = pop @_; return map [$_], @$last if(!@_); return map { my $left = $_; map [@$left, $_], @$last } permute(@_); }