Eclipse平台中Perl脚本开发

开发 架构
本文向大家简单介绍一下Eclipse平台中Perl脚本开发,EPIC(EclipsePerlIntegration)是一个基于Eclipse平台的开源Perl集成开发环境。

本文主要和大家学习一下Eclipse平台中Perl脚本开发方面的知识,EPIC(EclipsePerlIntegration)是一个基于Eclipse平台的开源Perl集成开发环境。其支持的功能有语法高亮、语法检查、代码提示、Perldoc支持、模版、Perl调试器和正则表达式插件等。

Eclipse平台中Perl脚本开发

1、Installation

EPIC(EclipsePerlIntegration)是一个基于Eclipse平台的开源Perl集成开发环境。其支持的功能有语法高亮、语法检查、代码提示、Perldoc支持、模版、Perl调试器和正则表达式插件等。
在安装EPIC之前需要安装Eclipse3.1以上版本,此外还需要安装Perl解释器(Unix和Linux平台通常会缺省安装Perl,Windows平台上可以安装ActivePerl,下载地址www.activestate.com)。

可以通过EclipseUpdateManager来安装EPIC。选择菜单Help->SoftwareandUpdates->FindandInstall,在弹出的Install/Update对话框中选择Searchfornewfeaturestoinstall然后单击下一步,在弹出的Install对话框中单击NewRemoteSite,在弹出的对话框中输入Name(例如EPIC)和URL(http://e-p-i-c.sf.net/updates)然后单击确定。接下来在Install对话框中选中刚才新建的Site,单击完成。按照向导的指示完成后续的过程,忽略途中提示的未经签名的警告。重启Eclipse后,EPIC应该已经安装完毕了。

如果要暂时禁用或者卸载EPIC,选择菜单Help->SoftwareandUpdates->ManageConfiguration,展开弹出对话框左侧的树控件,选中当前版本的EPIC并单击右键,在弹出菜单中选择禁用或者卸载。

2、SettingUpPreferences

选择菜单Window->Preferences,在弹出的Preferences对话框左侧的树控件中选择PerlEPIC以打开PerlEPICGeneralPreferences页。这个页中包含了Perl解释器的路径、解释器的类型以及其他选项等。

关于解释器的类型,除了standard之外,还可以选择Cygwin。如果选择Cygwin,那么@INC数组的内容会有所变化。至于@INC数组,当使用useModuleName来装载模块时,Eclipse平台中Perl会在@INC数组中列出的每一个目录中查找模块。因为use是在编译时装载模块,所以任何对@INC的修改都需要在编译时发生。可以通过BEGIN块在编译时向@INC中添加值,例如BEGIN{push@INC,‘/path’}。@INC通常包含(假设Perl安装在/Perl):/Perl/lib/Perl/site/lib.。核心模块是安装在”Perl/lib”目录中,非核心模块安装在”Perl/site/lib”目录中,”.”这个目录表示当前的工作目录。

在Eclipse中选中Perl工程,选择Project->Properties,在弹出的对话框中选择PerlIncludePath,然后就可以向@INC中添加项目。如果没有指定绝对路径,那么这个路径是相对于工程目录的。可以使用标准的Eclipse变量,例如${project_loc}。

关于调试器相关的设置有以下两个:

Enabledebuggerconsole。这个选择只是在你希望调试EPIC自身的时候有用,在其它情况下不要使用。在调试的时候,一个特殊的控制台(单击DebugView中的Perl–d项目以显示此控制台)会显示EPIC和后台的Perl调试器之间的通信内容。
Suspenddebuggeratfirststatement。此项目缺省是选中的,选中它会导致调试器在脚本的开始处停止,而不论该处是否有断点。
如果不安装PadWalker模块也是可以使用调试器的,但是在这种情况下localvariables不会被显示。可以从CPAN上下载PadWalker的最近版本并进行安装,例如使用Perl安装中附带的安装管理器(ActiveState附带的是PerlPackageManager)进行安装。

EPIC在进行语法检查时如果发现语法错误,那么会显示错误或警告图标。如果右键单击该图标,并在弹出菜单中选择ExplainErrors/Warnings,那么在ExplainErrors/Warningsview中会显示具体的错误或警告信息。
如果安装了ActivePerl,那么会同时安装Perldoc。通过Perldoc可以查找相关的帮助文档,例如在命令行上输入Perldoc-fuse可以查看use的用法。如果在程序中选择部分文本并单击右键,并在弹出菜单中选择Perldoc(如果没有任何选中,那么会弹出一个输入对话框),那么在PerldocView中会显示查找到的帮助文档。

在ContentAssistPreference页中可以指定代码提示的触发字符,通常不需要对其进行修改,只要取消选中InspectVariables即可关闭此功能。需要注意的是:目前ContentAssist支持使用箭头操作符的方法调用,例如:
 

  1. $smtp=Net::SMTP->new();  
  2. $smtp->[contentassist]  

不支持间接对象的方法调用,例如:
 

  1. $smtp=newNet::SMTP;  
  2. $smtp->[nocontentassist]  

 在TemplatesPreference页中可以创建、编辑或者删除模版。例如在NewTemplate对话框的Name文本框中输入for,在Pattern中输入for(${var}=0;${var}<${max};${var}++){}并单击确定就新建了一个新的模版。在编写程序时,输入for并按下Alt+/之后(可以通过Window->Preferences->General->Keys配置),之前定义的模版会被插入到代码中。按下TAB键可以切换模版中的用户自定义变量(例如${var}和${max})。
在TaskTagsPreference页中可以指定一系列用来在注释中作为任务标记的关键字,缺省有TODO和TASK;EPIC使用PerlTidy来格式化源码,SourceFormatterPreference页用来指定PerlTidy的命令行参数。

3、PerlProject

推荐以核心Eclipse平台中Perl发布的惯例形式来组织你的工程:

将你自己的模块保存在工程的某个子目录中,例如在工程根目录下建立一个lib目录,用来保存所有*.pm文件。并将这个子目录添加到@INC中。
将包名映射成子目录名,例如将Foo::Bar包中的代码保存在lib/Foo/Bar.pm文件中,并保证lib/Foo/Bar.pm中只包含Foo::Bar包中的代码。
你自己的Perl脚本保存可以保存在工程中的任何目录里,例如工程根目录下的bin或者cgi-bin目录。
在装载一个包时,不要使用require,而是使用use,例如useFoo::Bar。

4、RegExpPlug-in

RegExp插件是个调试正则表达式的小工具,其打开方式如下:选择菜单Window->ShowView->Other,然后在弹出的ShowView对话框中选择EPIC节点下的RegExp。
如果在RegExp文本框中输入正则表达式,在Matchtext文本框中输入进行匹配的文本,并单击右侧的ValidateRegExp按钮。如果表达式和文本匹配,那么会显示绿色图标;否则显示红色图标。如果表达式包含小括号,那么在Matchtext中与小括号部分匹配的文本会高亮显示。

相关链接:http://www.eclipse-plugins.info/eclipse/plugin_details.jsp;jsessionid=160B364C4FEB9349656900C967693C0D?id=281www.eclipse.org

【编辑推荐】

  1. 详解Perl引用/指针用法
  2. 解析Perl引用中Perl直接应用用法
  3. 畅谈Perl数组的使用技巧
  4. Perl变量中Perl数组概念详解
  5. 技术分享 解析Perl模块创建和导入方法

 

责任编辑:佚名 来源: csdn.net
相关推荐

2009-06-23 09:57:40

EclipsePerl脚本

2010-07-23 13:29:12

Perl脚本

2010-06-22 16:19:01

Black Berry

2009-05-21 09:12:41

Java开发平台生命周期管理

2014-05-09 15:43:39

移动安全Android安全

2010-05-04 13:41:04

Unix平台

2010-05-14 14:07:38

VMwareXen

2010-07-20 10:58:39

Perl脚本

2015-09-21 17:48:12

APICloudSublimeapicloud

2011-09-05 15:09:06

Android平台Phonegap

2010-05-20 13:30:26

MySQL代码

2011-06-09 16:18:25

Qt GUI

2010-07-05 16:25:13

IPX SPX协议

2023-10-16 18:51:04

ClickHouse大数据

2011-09-06 13:31:10

MTK平台Scatter文件

2017-12-24 21:53:56

数字化客户触点移动应用

2011-09-06 15:53:41

Qt平台GUI

2010-11-22 09:36:37

Perl脚本SolarisLinux

2009-06-01 15:56:48

eclipse sdkeclipse

2011-09-21 09:44:03

Eclipse
点赞
收藏

51CTO技术栈公众号