==Perl JavaコードをHTMLに==
open IN, "<<c:\\test.java"; open OUT, ">>c:\\test.html";
print OUT "<<style>>";
print OUT ".kwd{ color:blue;font-weight:bold; }";
print OUT ".cmt{ color:green; }";
print OUT ".lit{ color:#00ffff; }";
print OUT ".code{ background-color:#efefff;border:1px solid lightgrey;font-family:monospace; }";
print OUT "<</style>>";
print OUT "<<div class='code'>>";
$c = 1;
$isCmt = 0;
while ( $line = <<IN> > ) {
$line =~ s/\s*$//;
$line =~ s/(&)/&/g;
$line =~ s/(<<)/</g; $line =~ s/(>>)/>/g;
$line =~ s/([ ])/ /g;
$line =~ s/(\t)/ /g;
if ($line =~ /(\/\*)/) {
$line =~ s/(\/\*)/<<span class='cmt'>>\1/;
$isCmt = 1;
}
if ($isCmt) {
if ($line =~ /(\*\/)/) {
$line =~ s/(\*\/)/\1<<\/span>>/;
$isCmt = 0;
}
} else {
$line =~ s/(\bString\b|\babstract\b|\bcontinue\b|\bfor\b|\bnew\b|\bswitch\b|\bassert\b|\bdefault\b|\bif\b|\bpackage\b|\bsynchronized\b|\bboolean\b|\bdo\b|\bgoto\b|\bprivate\b|\bthis\b|\bbreak\b|\bdouble\b|\bimplements\b|\bprotected\b|\bthrow\b|\bbyte\b|\belse\b|\bimport\b|\bpublic\b|\bthrows\b|\bcase\b|\benum\b|\binstanceof\b|\breturn\b|\btransient\b|\bcatch\b|\bextends\b|\bint\b|\bshort\b|\btry\b|\bchar\b|\bfinal\b|\binterface\b|\bstatic\b|\bvoid\b|\bclass\b|\bfinally\b|\blong\b|\bstrictfp\b|\bvolatile\b|\bconst\b|\bfloat\b|\bnative\b|\bsuper\b|\bwhile\b)/<<span class='kwd'>>\1<<\/span>>/g; $line =~ s/(\/\/.*)/<<span class='cmt'>>\1<<\/span>>/g;
}
printf(OUT "<<span class='lin'>>%04d:<</span> > $line<<br/>>\n", $c);
$c++;
}
print OUT "<</div>>";
close IN;
close OUT;
{{ref j2html.pl}}