トップ 一覧 ping 検索 ヘルプ RSS ログイン

Perl JavaコードをHTMLにの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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 ".lin{ color:#808080; }";
 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/(&)/&amp;/g;
     $line =~ s/(<)/&lt;/g;
     $line =~ s/(>)/&gt;/g;
     $line =~ s/([ ])/&nbsp;/g;
     $line =~ s/(\t)/&nbsp;&nbsp;&nbsp;&nbsp;/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}}