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模块使用举例(转)相关推荐

  1. php自动下载 linux,Linux下软件、PHP和Perl的模块等都实现了自动安装

    Linux下软件.PHP和Perl的模块等都实现了自动安装,真的很方便,本文简单介绍一下. linux下可以使用yum工具,Redhat下自动带有: yum list php*   //可以查看php ...

  2. 查看perl的模块版本

    查询版本: perl -M模块名 -e "print 模块名->VERSION" 一个例子:查看LWP模块版本(Windows操作系统下) 转载于:https://www.c ...

  3. perl Encode模块的使用

    编码问题是广泛存在的,只有正确的编码才能在不同的地方正确的显示内容.而在数据的获取和转移过程中,编码经常是很需要注意的问题. perl有功能很好的编码处理模块Encode.在程序里简单的use Enc ...

  4. Perl 安装 模块Net::SSH2 有些0day是ssh2

    SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目前较可靠,专 ...

  5. Windows XP 下安装Perl cpan模块

    1.从 www.cpan.org 搜索你所需要的模块,下载下来,一般是gz,或者tgz格式 2.用winRAR之类解压缩软件接压缩 3.进入COMMAN模式,进入到刚才解压缩的文件夹下,含有" ...

  6. Perl常用模块使用例子

    一些常用模块的简单描述 http://www.perldoc.com/perl5.6/pod/perlmodlib.html 在perl 中使用模块: 模块的下载地址:http://www.cpan. ...

  7. perl 常用模块使用例子

    一些常用模块的简单描述 http://www.perldoc.com/perl5.6/pod/perlmodlib.html 在perl 中使用模块: 模块的下载地址:http://www.cpan. ...

  8. Perl/Tk模块的安装终极教程(针对于NMAKE不好用的解决办法)

    因为组长最近要我们做一下LOG内容的可视化显示,前期提取LOG的时候一直用的是Perl语言进行开发,所以上网寻求更简单的数据可视化的方式,发现Perl脚本是那么的强大,从数据库到可视化再到进程控制,哈 ...

  9. requests模块用法举例

    json 请求 #! /usr/bin/python3 import requests import jsonclass url_request():def __init__(self):''' in ...

最新文章

  1. c语言中头结点不为零怎么写,C语言不带表头结点的单链表操作
  2. Android Broadcast广播机制分析
  3. 最短路径(Shortest Paths)
  4. java获取vm运行参数_如何获取在Java中运行Java VM的版本?
  5. 7-4 吃货的最短路径 (10 分)
  6. 初识c语言教程,第1课C语言教程一: 初识C程序.doc
  7. 快速排序的递归方式和非递归方式
  8. element-ui滚动条组件el-scrollbar
  9. ApiPost、Postman及并发测试工具Jmeter、PostJson接口测试工具,设置参数传递。
  10. mySQL 2008安装MOF无法连接_SQL Server 2008安装失败,提示MOF编译器无法连接WMI服务器,该如何解决.谢谢!...
  11. java jui_急求用带jui界面写的java聊天程序!!!
  12. Unix平台下的常用命令技巧之五 资源与性能
  13. 关于xlrd不支持xlsx格式的解决办法
  14. 逆反西游无法读取服务器信息,逆反西游
  15. 直播搭建软件开发直播搭建技术流程解决方案
  16. JDBC防止SQL注入原理
  17. 快来领取哔哩哔哩855张官方壁纸(2021年02月16日更新,附爬虫工具)
  18. 1024程序员节开幕,龙蜥多位技术专家参与演讲
  19. 全局变量的优缺点及为什么要少用全局变量
  20. 关联算法①——《啤酒与尿布》购物篮分析

热门文章

  1. 电影[源代码]nbsp;永恒-量子力学
  2. MeterSphere | 超好用的开源测试平台
  3. client-go实战之四:dynamicClient
  4. pycharm安装sklearn失败解决方法
  5. 位置2处的索引超过边界总数matlab,位置 2 处的索引超出数组边界(不能超出 2)。...
  6. php山东jiguan大学,Guan-Jisong
  7. outlook 找不到电子邮件服务器,使用Outlook收取电子邮件并保留邮箱服务器中的邮件的设置方法...
  8. Android 开发 设置banner圆角,滑动时,图片圆角失效
  9. LPR个人房贷利率如何计算?(商贷部分)
  10. 大理石在哪儿(Uva10474)