#! perl -sw use strict; local $\=$/; sub Dlighken { return sprintf '%02x'x3, map{ ($_ *= 1+$_[1]) > 0xff ? 0xff : $_ } map hex, unpack 'A2'x3, $_[0]; } my @colors = qw/800000 808000 008000 008080 000080 808080 c0c0c0/; print ''; print '', map{ '' } @colors, ''; for my $scale ( -5 .. +5 ) { print ''; print '' for map{ Dlighken($_, $scale/10) } @colors; print ''; } print '
 '.$_.'
'.($scale/10).'', $_, '
'; __END__