perl Carp模块使用举例(转)
perl Carp模块使用举例
perl编程 2009-08-20 19:16:42 阅读262 评论0 字号:大中小 订阅
近日分析extmail的源代码,看到Carp的perl模块,有些搞不懂,perldoc一把,了解了其用法,放在这里备忘!
Carp模块提供了carp(),croak(),confess(),cluck(),shortmess(),longmess()六个函数,这些函数产生的错误信息与warn(),die()类似。不同之处在于,后者标识的是出现错误的行号,前者产生调用错误的子程序命令行位置。
# script_1 source code: warn and die function
#!/usr/bin/perl
package MyPackage ;
sub my_fun {
print "This is warn and die function output message!/n" ;
warn("warn") ;
die("die") ;
}
程序输出:
This is warn and die function output message!
warn at carp.pl line 8.
die at carp.pl line 9.
script 2:source code --carp croak
#!/usr/bin/perl
package MyPackage ;
use Carp ;
sub my_carp{
print "This is Carp Module function carp croak and confess output message!/n" ;
carp("carp") ;
croak("croak") ;
confess("confess") ;
}
package main ;
MyPackage::my_carp() ;
程序输出:
[root@mail bash]# perl carp.pl
This is Carp Module function carp croak and confess output message!
carp at carp.pl line 20
croak at carp.pl line 20
script 3 source code -- confess
#!/usr/bin/perl
use Carp ;
sub one {
two() ;
}
sub two {
three() ;
}
sub three {
confess("confess") ;
}
one() ;
程序输出:
[root@mail bash]# perl carp_confess.pl
confess at carp_confess.pl line 12
main::three() called at carp_confess.pl line 9
main::two() called at carp_confess.pl line 6
main::one() called at carp_confess.pl line 14
script 4 source code :-- cluck shortmess and longmess
use Carp qw(cluck) ;
cluck "This is how we got here!" ;
print STDOUT Carp::shortmess("This will have caller's details added") ;
print STDOUT Carp::longmess("This will have stack backtrace added") ;
程序输出:
This is how we got here! at new_carp.pl line 3
This will have caller's details added at new_carp.pl line 5
This will have stack backtrace added at new_carp.pl line 6
大概就这么大了。就跟使用warn和die一样的。这个模块能产生更多的错误信息。
perl Carp模块使用举例(转)相关推荐
- php自动下载 linux,Linux下软件、PHP和Perl的模块等都实现了自动安装
Linux下软件.PHP和Perl的模块等都实现了自动安装,真的很方便,本文简单介绍一下. linux下可以使用yum工具,Redhat下自动带有: yum list php* //可以查看php ...
- 查看perl的模块版本
查询版本: perl -M模块名 -e "print 模块名->VERSION" 一个例子:查看LWP模块版本(Windows操作系统下) 转载于:https://www.c ...
- perl Encode模块的使用
编码问题是广泛存在的,只有正确的编码才能在不同的地方正确的显示内容.而在数据的获取和转移过程中,编码经常是很需要注意的问题. perl有功能很好的编码处理模块Encode.在程序里简单的use Enc ...
- Perl 安装 模块Net::SSH2 有些0day是ssh2
SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专 ...
- Windows XP 下安装Perl cpan模块
1.从 www.cpan.org 搜索你所需要的模块,下载下来,一般是gz,或者tgz格式 2.用winRAR之类解压缩软件接压缩 3.进入COMMAN模式,进入到刚才解压缩的文件夹下,含有" ...
- Perl常用模块使用例子
一些常用模块的简单描述 http://www.perldoc.com/perl5.6/pod/perlmodlib.html 在perl 中使用模块: 模块的下载地址:http://www.cpan. ...
- perl 常用模块使用例子
一些常用模块的简单描述 http://www.perldoc.com/perl5.6/pod/perlmodlib.html 在perl 中使用模块: 模块的下载地址:http://www.cpan. ...
- Perl/Tk模块的安装终极教程(针对于NMAKE不好用的解决办法)
因为组长最近要我们做一下LOG内容的可视化显示,前期提取LOG的时候一直用的是Perl语言进行开发,所以上网寻求更简单的数据可视化的方式,发现Perl脚本是那么的强大,从数据库到可视化再到进程控制,哈 ...
- requests模块用法举例
json 请求 #! /usr/bin/python3 import requests import jsonclass url_request():def __init__(self):''' in ...
最新文章
- c语言中头结点不为零怎么写,C语言不带表头结点的单链表操作
- Android Broadcast广播机制分析
- 最短路径(Shortest Paths)
- java获取vm运行参数_如何获取在Java中运行Java VM的版本?
- 7-4 吃货的最短路径 (10 分)
- 初识c语言教程,第1课C语言教程一: 初识C程序.doc
- 快速排序的递归方式和非递归方式
- element-ui滚动条组件el-scrollbar
- ApiPost、Postman及并发测试工具Jmeter、PostJson接口测试工具,设置参数传递。
- mySQL 2008安装MOF无法连接_SQL Server 2008安装失败,提示MOF编译器无法连接WMI服务器,该如何解决.谢谢!...
- java jui_急求用带jui界面写的java聊天程序!!!
- Unix平台下的常用命令技巧之五 资源与性能
- 关于xlrd不支持xlsx格式的解决办法
- 逆反西游无法读取服务器信息,逆反西游
- 直播搭建软件开发直播搭建技术流程解决方案
- JDBC防止SQL注入原理
- 快来领取哔哩哔哩855张官方壁纸(2021年02月16日更新,附爬虫工具)
- 1024程序员节开幕,龙蜥多位技术专家参与演讲
- 全局变量的优缺点及为什么要少用全局变量
- 关联算法①——《啤酒与尿布》购物篮分析
热门文章
- 电影[源代码]nbsp;永恒-量子力学
- MeterSphere | 超好用的开源测试平台
- client-go实战之四:dynamicClient
- pycharm安装sklearn失败解决方法
- 位置2处的索引超过边界总数matlab,位置 2 处的索引超出数组边界(不能超出 2)。...
- php山东jiguan大学,Guan-Jisong
- outlook 找不到电子邮件服务器,使用Outlook收取电子邮件并保留邮箱服务器中的邮件的设置方法...
- Android 开发 设置banner圆角,滑动时,图片圆角失效
- LPR个人房贷利率如何计算?(商贷部分)
- 大理石在哪儿(Uva10474)