use strict;

my $infile  = "rgb.txt";
my $outfile = "Color.pm";
open(IN,  $infile)     or die $!;
open(OUT, ">$outfile") or die $!;
print OUT "#!/usr/bin/perl\n";
print OUT "\n";
print OUT "use strict;\n";
print OUT "\n";
print OUT "my %Colors = (\n";

<IN>;
while(my $line = <IN>) {
	my ($r, $g, $b, $name) = ($line =~ /^\s*(\S+)\s+(\S+)\s+(\S+)\s+(.+)$/);
	printf "%-20s: #%02X%02X%02X\n", $name, $r,$g,$b;
	printf OUT "	%-20s => \"#%02X%02X%02X\",\n", "\"$name\"", $r,$g,$b;
}
print OUT "	);\n";
print OUT "1;\n";
close(OUT);
close(IN);
