eval '(exit $?0)' && eval 'exec perl -w -S $0 ${1+"$@"}'
    & eval 'exec perl -S $0 $argv:q'
    if 0;

print "<PRE>\n";
while( <STDIN> )
{
  s/</\&lt;/g;
  s,\#(\s*)(e?l?if !?defined|pragma|ifn?def|define)(\W*)([\w\.]+),<font color=blue>\#$1$2</font>$3<font color=purple>$4</font>,;
  s,\#\s*(include|endif),<font color=blue>$&</font>,;
  s,"([^"]+)","<font color=green>$1</font>",g;
  s,//.*$,<font color=red>$&</font>,;
  s,/\*,<font color=red>$&,;
  s,\*/,$&</font>,;
  s,\w+::\~?\w+,<font color=\#008888>$&</font>,;
  print STDOUT $_;
}
print "</PRE>\n";

0;
