use strict; open RGB,'<','c:/cygwin/usr/X11R6/lib/X11/rgb.txt' or die $!; while (my $line = ) {  next if $line =~ m/^\s*$/;  next if $line =~ m/^(?:!|#)/;  my ($r,$g,$b,$name) = $line =~ m/(\d+)\s+(\d+)\s+(\d+)\s+(.*)/;  printf "#%2X%2X%2X\t%s\n",$r,$g,$b,$name; } close RGB;