my $silver = "c0c0c0"; my ($light_silver, $dark_silver) = color_munge(25,$silver); sub color_munge { my @limits = (0, 255); my $off_set = shift; my $html_colour = shift; my @old = map hex, ($html_colour =~ /(..)(..)(..)/); my $brighter = join ('', map {$_ += $off_set; $_ = $limits[1] if $_ > $limits[1]; sprintf("%02X", $_); } @old); my $darker = join('', map {$_ -= 2 * $off_set; $_ = $limits[0] if $_ < $limits[0]; sprintf("%02X", $_); } @old); return ($brighter,$darker); }