Perl入门(七) Perl脚本的调试

编程中错误不可避免,调试能够帮助我们发现有问题的代码段。在网上看了一下Perl脚本调试,发现其实很多东西并不需要,而且那么多也没人看。

下面简单整理一下。

1.进入debug。

使用-d,进入debug状态。例:perl -d Perl程序名称。

2.设置断点

b:设置断点。例:b 行号;

c:程序执行到下一个断点处,或执行到指定行。例:c ;c 行号;

d:删除一个断点。例:d 断点所在行号;

D:删除所有断点。例:D;

L:列出所有断点。例:L。

3.程序调试

n:执行下一行,跳过方法;

s:执行下一行,如果是方法则进入方法体。

4.查看变量值

p:查看变量值。例:p 变量名;

x:查看变量值并结构化显示。x 变量名。

使用工具进行调试

类似浏览器的F12功能,Perl也提供了调试工具ptkdb。使用该工具需要两个模型包:Tk和ptkdb。

使用如下命令可以安装着两个包

perl -MCPAN -e'install Tk'
perl -MCPAN -e'install Devel::ptkdb'

使用工具进行调试

perl -d:ptkdb Perl程序名称

此时会启动调试工具,界面截图如下:

step in 等价于s;

step over 等价于 n;

run to 等价于c;

break 等价于b;

Perl入门(七) Perl脚本的调试,布布扣,bubuko.com

时间: 2024-10-23 20:35:15

Perl入门(七) Perl脚本的调试的相关文章

Perl入门(六) Perl方法的使用

 1.定义一个方法 Perl使用sub定义方法. 语法: sub 方法名称{方法体} 2.调用一个方法 Perl直接使用方法名称调用方法. 调用方式有以下四种: 方法名称: &方法名称: 方法名称(); &方法名称(); 说明:方法调用可以再任何位置,可以在方法前.后调用,也可以在方法体内部调用. 3.传递参数 Perl通过方法名后面的括号将参数列表传递到方法体内.例如:function_name("param1","param2"...); 方

windows下perl的安装和脚本的运行

下载perl编译器.下载地址:http://pan.baidu.com/s/1i3GLKAp 下载后的文件如下图所示.   perl的安装. 直接双击运行下载的文件,首先会出现perl版本等等信息的介绍,不要理,直接next就会出现是否接受perl安装说明,按图示选择接受,然后继续next.   上面next以后会出现一个安装路径的选项,你可以根据自己的需要更改安装路径也可以默认安装路径为c盘不过,因为perl的安装包其实很小,所以建议直接安装到c盘.设置好安装路径以后继续next,在弹出的这个

Perl入门(四)Perl的正则表达式

正则表达式是Perl语言的特色,基本的语法不是很难,但是编写一个符合需求.高效的正则表达式,还是有一些挑战的. Perl的三种匹配模式 1.查找 语法:m/正则表达式内容/; 作用:查找匹配内容中是否包含"正则表达式内容",如果包含返回1,否则返回0: #!user/bin/env perl -w #1... $str1 = "i like perl"; $result1 = ($str1 =~ m/perl/); print "$result1 $str

Perl入门(一)Perl的基本类型及运算符

在学习Perl的基础之前,还是希望大家有空去看以下Perl的简介.百度百科 一.Perl的基本类型 Per的基本类型分为两种:数值型和字符串型. 数值型可细分为 整数型.如123. 浮点型.如123.123.0.123456. 科学计数型.如1.23E2.1.23e2. 大数值类型.如1_156_123_585_123. 字符串型 字符串.如"123456",'123',qq(this is a string too!) 二.用变量存储基本类型值 Perl定义变量很简单.格式为:$变量

Perl入门(二)Perl的流程控制

Perl是一种粘性语言,如果你有其他语言的基础的话,你会发现他的流程控制完全和你所知的一模一样. 简单说一下他们的区别: Perl的elsif在其他语言里头可能表示为else if Perl的last,next在其他语言里头可能叫break和continue 不用找了,Perl中没有switch,其实这用if else也是可以实现的,不是么? Perl可能比你知道的语言里头多了这些:条件控制结构unless.循环控制结构until Perl还有一些特殊的写法 还是详细介绍一下Perl的流程控制吧

Perl入门 - Perl方法的使用

1.定义一个方法 Perl使用sub定义方法. 语法: sub 方法名称{方法体} 2.调用一个方法 Perl直接使用方法名称调用方法. 调用方式有以下四种: 方法名称: &方法名称: 方法名称(); &方法名称(); 说明:方法调用可以再任何位置,可以在方法前.后调用,也可以在方法体内部调用. 3.传递参数 Perl通过方法名后面的括号将参数列表传递到方法体内.例如:function_name("param1","param2"...); 方法体内

Perl入门(五)Perl文件读写

 Perl文件夹操作 Perl创建.删除.修改文件夹 mkdir("文件夹名称",权限); rmdir("文件夹名称"); rename("旧文件夹名称","新文件夹名称"): 权限:4代表可读,2代表可写,1代表可执行:权限的组成:[前缀0][文件所有者][同组用户][其他用户]. 生成的数字序列由拥有的权限对应的数字加和计算得到. 如'0755'代表:文件所有者可读可写可执行,同组用户可读可执行,其他用户可读可执行.

Python爬虫入门七之正则表达式

在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式! 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个"规则字符串",这个"规则字符串"用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我

转 Python爬虫入门七之正则表达式

静觅 » Python爬虫入门七之正则表达式 1.了解正则表达式 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了. 正则表达式的大致匹配过程是:1.依次拿出表达式和文本中的字符比较,2.如果每一个