use strict; use warnings; # # Gives (1 + 2^n)^3 - 1 colours, where n>=0 # # $n = 0 gives 7 colours. # $n = 1 gives 26 colours. # $n = 2 gives 728 colours. # my $n = 1; my @components; my @colours; { #my $inc = 256 / (1 << $n); my $inc = 256 >> $n; my $component = 0; do { push(@components, sprintf('%02X', $component)); $component += $inc; } while ($component < 256); push(@components, 'FF') unless ($components[$#components] eq 'FF'); } { my $r; my $g; my $b; foreach $r (@components) { foreach $g (@components) { foreach $b (@components) { push(@colours, "#$r$g$b"); }}} shift(@colours); # Remove background colour. } print(qq{
\n}); print(qq{This is a line of text in $_.
\n}) foreach (@colours); print(qq{
\n}); __END__ output: =======