设为首页 收藏本站
查看: 1541|回复: 0

[经验分享] 如何调试perl脚本

[复制链接]

尚未签到

发表于 2015-12-25 14:54:44 | 显示全部楼层 |阅读模式
  perl是一门非常强大的文本处理语言,之前在写perl脚本时,基本上就用Notepad++和print解决了代码编辑和调试的问题。Notepad++作为编辑器其实是一个相当不错的选择了,对perl的代码高亮做得相当漂亮,喜欢的话还能自己扩展;但是对于调试这一块,虽然也用这种土办法写出上千行的能工作的脚本,但老是用print查看结果总不是个办法。

  研究了一下,发现两个不错的工具:


Komodo IDE
  这是一个由ActiveState发布的针对动态语言的跨平台的集成开发环境。
  所谓跨平台,其支持所谓Mac,Linux,Windows;
  所谓集成开发环境,其支持代码编辑与调试
  所谓动态语言,其除了支持perl,还支持狂多其他动态语言,如python,Ruby,PHP等等。
DSC0000.png
  熟悉Visual Studio的同学可能会觉得很面熟。
  详细说明可以参考其官方网站:https://www.activestate.com/komodo/
  下载地址是:https://www.activestate.com/activeperl_pro_studio/downloads/
  这的确是一个非常强大的工具,但是295$的价钱实在拒人于千里。21天的试用期到了,你的脚本还没完成,怎么办?
  一般来说,每一个成功的商业软件背后,都会有一个好用(至少是可用)的免费软件。对于调试perl,我们至少还是另外一个选择:

Notepad++ & ptkdb
  N++是个Windows下比较好用也比较有名的编辑器了,这里不再赘述,不熟悉的同学可以参考这里。
  当然,您要喜欢Komodo IDE的风格,它们提供了一个免费的Komodo Edit.
  编辑器有了,调试器的任务就由ptkdb承担了:

  ptkdb is a free/open source debugger for Perl with graphical user interface (GUI) based on Perk/Tk.
ptkdb is able to run on almost any operating system.

  免费,跨平台,有GUI,应该是可以满足我们的要求了。
DSC0001.png   < DSC0002.png
  当然,其界面美观度和可操控性都没有Komodo IDE来的好,但是知足吧,有这么一个免费的工具用,已经很不错了。
  
  下面介绍一下如何配打造这套"土IDE"


  • 安装perl
    对于windows下的用户,可以从activestate网站下载最新的perl安装包:https://www.activestate.com/activeperl/,注意安装的时候路径名不要太长,也不能有空格。
  • 安装tk
    tk是一个图形界面库,是由tcl引到perl中来的,ptkdb依赖于此GUI库显示界面。可以直接在cmd窗口:
    ppm install tk
  • 安装ptkdb
    安装命令为:
    ppm install devel::ptkdb
    如果用此命令安装失败的话,我们需要手动下载并将模块解压到:C:\Perl\Lib\Devel,当然,请把C:\Perl替换为你的安装路径。
  • 与Notepad++的集成
    至此,如果你想调试某个script的话,需要:
    perl -d:ptkdb test.pl
    但既然我们在Notepad++中开发脚本,而Notepad++提供了与外部工具集成的机制,我们就可以非常方便的执行一个菜单命令来调试当前的脚本:
    DSC0003.png
    输入命令:
    Perl.exe -d:ptkdb "$(FULL_CURRENT_PATH)"
    然后save为一个run菜单命令,一切就ok了。
  突然间有自己写个perl IDE的冲动~~~

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156266-1-1.html 上篇帖子: Perl篇:时间函数 下篇帖子: PERL连MSSQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表