[! sub colourise ($$$;$) { my ($rgb) = splice(@_, 3); $rgb ||= '012'; my @rgb = (); $rgb[substr($rgb,0,1)] = $_[0]; $rgb[substr($rgb,1,1)] = $_[2]; $rgb[substr($rgb,2,1)] = $_[1]; my @hex = qw(0 3 6 9 c f); return '#' . ($hex[$rgb[0]] x 2) . ($hex[$rgb[1]] x 2) . ($hex[$rgb[2]] x 2); } !] [- $rgb = $fdat{rgb}; if (!$rgb) { $fmt = $fdat{fmt}; $fmt = 'rg' if $fmt !~ m/^[rgb]{2}$/oi || substr($fmt,0,1) eq substr($fmt,1,1); ($rgb = 'rgb') =~ s/[$fmt]//g; $rgb = $fmt . $rgb; $rgb =~ tr/rgb/012/; } -]

Websafe colours ([+ "\U$fmt" +] format)

[+ @f = qw(rg gr rb br gb bg); my $str = '[ '; my $script_name = $ENV{SCRIPT_NAME}; my $qs = $ENV{QUERY_STRING}; $qs =~ s/fmt=\w+//o if $qs; $qs =~ s/^&//o; $qs =~ s/&$//o; $script_name .= ($qs) ? "?$qs&" : '?'; for (my $i = 0; $i <= $#f; $i++) { #> $str .= ' | ' if $i > 0; if ($f[$i] eq $fmt) { $str .= "\U$f[$i]"; } else { $str .= qq(\U$f[$i]\E); } } $str .= ' ]

'; local $escmode = 0; $str +] [$ foreach $i (0 .. 5) $] [$ foreach $j (0 .. 5) $] [$ foreach $k (0 .. 5) $] [$ endforeach $][$ endforeach $] [$ endforeach $]
[[[+ colourise($i,$j,$k,$rgb) +]]