• 如何调试perl脚本


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

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

    Komodo IDE

    这是一个由ActiveState发布的针对动态语言的跨平台的集成开发环境。

    所谓跨平台,其支持所谓Mac,Linux,Windows;

    所谓集成开发环境,其支持代码编辑与调试

    所谓动态语言,其除了支持perl,还支持狂多其他动态语言,如python,Ruby,PHP等等。

    image

    熟悉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,应该是可以满足我们的要求了。

    image  <image

    当然,其界面美观度和可操控性都没有Komodo IDE来的好,但是知足吧,有这么一个免费的工具用,已经很不错了。

     下面介绍一下如何配打造这套"土IDE"

    1. 安装perl
      对于windows下的用户,可以从activestate网站下载最新的perl安装包:https://www.activestate.com/activeperl/,注意安装的时候路径名不要太长,也不能有空格。
       
    2. 安装tk
      tk是一个图形界面库,是由tcl引到perl中来的,ptkdb依赖于此GUI库显示界面。可以直接在cmd窗口:
      ppm install tk
    3. 安装ptkdb
      安装命令为:
      ppm install devel::ptkdb
      如果用此命令安装失败的话,我们需要手动下载并将模块解压到:C:\Perl\Lib\Devel,当然,请把C:\Perl替换为你的安装路径。

    4. 与Notepad++的集成
      至此,如果你想调试某个script的话,需要:
      perl -d:ptkdb test.pl
      但既然我们在Notepad++中开发脚本,而Notepad++提供了与外部工具集成的机制,我们就可以非常方便的执行一个菜单命令来调试当前的脚本:
      image
      输入命令:
      Perl.exe -d:ptkdb "$(FULL_CURRENT_PATH)"

      然后save为一个run菜单命令,一切就ok了。

    突然间有自己写个perl IDE的冲动~~~

  • 相关阅读:
    数据库系统load飙高问题解决思路
    随Linux开机自动启动mysql
    mysql_safe和mysql_multi
    mysqlslap压测
    “努力就会成功”
    MongonDB 知识
    Linux系统下MongoDB的简单安装与基本操作
    性能压测,更新库存时间长
    Buffer Latch Timeout的解析
    SQL Server 性能调优(一)——从等待状态判断系统资源瓶颈
  • 原文地址:https://www.cnblogs.com/baiyanhuang/p/1730726.html
Copyright © 2020-2023  润新知