先决条件
CPAN Syntax::Highlight::Perl
代码解释
perldoc Syntax::Highlight::Perl
perldoc里或许解释清楚了,但是蛮长了,我没耐心看。使用里面的代码一点反应都没有。
use Syntax::Highlight::Perl;
my $formatter = new Syntax::Highlight::Perl;
print $formatter->format_string($my_string);
不想仔细看完全文,最主要是我懒,看英文头痛得很。
还好可以Search, 找到了Coloring perl code in HTML。
对着那代码,改写了些许颜色。将它span里改写成使用class而不是style.这样比较容易知道哪些词是属于哪一部分 。
完成后的代码如下。现炒现卖,直接将它着色。
打算迟些时候将它做为Eplanet的新功能。
highlightperl.css - 此CSS文档可随意更改。
.vs { color:#080; }
.va { color:#f70; }
.vh { color:#80f; }
.vt { color:#f03; }
.sub { color:#980; }
.qr { color:#ff8000; }
.str { color:#000; }
.cm { color:#008080;font-style:italic; }
.cmp { color:#014;font-family: garamond,serif;font-size:11pt; }
.bw { color:#3A3; }
.pk { color:#900; }
.nb { color:#f0f; }
.op { color:#000; }
.sym { color:#000; }
.kw { color:#00f; }
.bo { color:#f00; }
.bf { color:#001; }
.char { color:#800; }
.dr { color:#399;font-style:italic; }
.lb { color:#939;font-style:italic; }
.ln { color:#000; }
highlight.pl
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI::Carp qw(fatalsToBrowser);
use CGI qw/:standard/;
my $cgi = new CGI;
print $cgi->header;
use Syntax::Highlight::Perl;
my $color_table = {
'Variable_Scalar' => 'vs',
'Variable_Array' => 'va',
'Variable_Hash' => 'vh',
'Variable_Typeglob' => 'vt',
'Subroutine' => 'sub',
'Quote' => 'qr',
'String' => 'str',
'Comment_Normal' => 'cm',
'Comment_POD' => 'cmp',
'Bareword' => 'bw',
'Package' => 'pk',
'Number' => 'nb',
'Operator' => 'op',
'Symbol' => 'sym',
'Keyword' => 'kw',
'Builtin_Operator' => 'bo',
'Builtin_Function' => 'bf',
'Character' => 'char',
'Directive' => 'dr',
'Label' => 'lb',
'Line' => 'ln',
};
my $formatter = Syntax::Highlight::Perl->new();
$formatter->define_substitution('<' => '<',
'>' => '>',
'&' => '&'); # HTML escapes.
# install the formats set up above
while ( my ( $type, $class ) = each %{$color_table} ) {
$formatter->set_format($type, [ qq~<span class=\"$class\">~, '</span>' ] );
}
print qq~<link rel="stylesheet" href="highlightperl.css" type="text/css" />~;
print '<pre>';
while (<DATA>) {
print $formatter->format_string;
}
print "</pre>";
分享到:
相关推荐
《Eclipse代码着色插件net.sf.colorer_0.9.9详解》 在编程领域,代码编辑器是开发者日常工作中不可或缺的工具。Eclipse作为一款强大的集成开发环境(IDE),提供了丰富的功能来提升开发效率。然而,原始的Eclipse在...
1. **Perl语法高亮**:同样,通过Package Control安装`Perl`或`Perl syntax`插件,以获得Perl源代码的正确语法着色。 2. **Perl Build System**:与CoffeeScript一样,创建一个Perl的构建系统,例如: ``` { "cmd...
1. **语法高亮**:DzSoft Perl Editor支持对Perl代码进行语法着色,使代码更易读,有助于开发者快速识别和理解不同类型的语句。 2. **代码自动完成**:它提供了代码自动补全功能,根据输入的字符,编辑器可以预测并...
Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个...
它的核心在于能够解析各种编程语言的语法特性,并根据这些特性为代码着色,使得代码在视觉上更易于理解。 在net.sf.colorer_0.9.0版本中,用户可以享受到超过200种语言的语法高亮支持。这涵盖了从常见的如Java、C++...
其次,Emedit具有编程语言关键字着色功能。这意味着不同类型的代码元素(如变量、函数、关键字)会以不同的颜色显示,这极大地提高了代码的可读性。色彩编码使得在大量代码中快速定位特定元素成为可能,减少了出错的...
- **语法高亮**:Source Insight可以对源代码进行语法着色,不同类型的语句、关键字、注释等采用不同的颜色显示,提高代码的可读性。 - **智能跳转**:通过点击变量、函数或类名,可以快速跳转到其定义处,方便...
代码阅读器软件支持 java/C#/C/C++/PERL/PYTHON/JAVASCRIPT语言,可以设置自动着色,程序员练手好工具。 历趣分享,给你在编译器上读代码的同样享受,喜欢就快下载吧! 历趣友情提示:此软件适用于android 1.5 及...
在Windows环境下,批处理文件可以调用编译器(如GCC或Visual Studio的编译工具链)将源代码编译为可执行文件。这个批处理文件可能包含了构建`glfullscreen.exe`的命令,包括设置编译选项、链接OpenGL库等。 `...
要构建方案库,您将需要: 吉特 蚂蚁1.8或更高 Java开发套件8(jdk)或更高版本 Perl 从git仓库下载源代码: git clone https://github.com/colorer/Colorer-schemes.git 运行构建 build.cmd target 目标是值之...
- **代码高亮**:这些配置文件使得 EditPlus 能够识别不同语言的语法,为代码着色,提高可读性。 - **自动完成**:在编写代码时,EditPlus 可以提供代码补全功能,帮助程序员快速输入常见的函数或语句,提升编码...
本教程显示如何通过EclipseDLTK为脚本语言构建开发工具,并且特别解释了如何在基于插件的项目中实现语法着色、用户首选项和解释器集成。这个教程分步解释了如何构建基于DLTK的开发环境。这个讨论通过关注基于Octave...
1. **代码高亮和语法着色**: SourceInsight 3.5具备对多种编程语言的语法敏感的高亮显示,通过不同颜色区分关键字、变量、注释等,使得代码看起来更清晰,提高阅读效率。 2. **智能代码补全**: 在编写代码时,...
2. **语法高亮**:对各种编程语言进行语法着色,使代码更易于阅读和理解。 3. **代码折叠**:允许用户隐藏和展开代码段,以便于管理大型项目。 4. **调试工具**:内置的调试器支持断点、单步执行、变量查看等功能,...
例如,`python.acp`、`java.acp`、`cpp.acp`和`perl.acp`是针对这些特定语言的配置文件,用于定义语法着色规则。 2. **代码折叠**:在处理大型代码文件时,EditPlus提供了代码折叠功能,用户可以隐藏部分代码段,使...
支持 HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript、VBScript 等多种语法的着色显示。程序内嵌网页浏览器,其它功能还包含 FTP 功能、HTML 编辑、URL 突显、自动完成、剪贴文本、行列选择、强大的搜索与替换...
SciLexer的核心功能是语言解析和语法着色,它支持多种编程语言的语法,包括C++, Java, Python, Perl等,并且可以扩展以支持更多的语言。通过识别代码中的关键字、注释和字符串,SciLexer能够使代码更易读,提升...