最近用了一把Data::Dumper模块,感觉很好很强大,故写了个小例子。
Data::Dumper模块主要用途是:给出一个或多个变量,包括引用,以PERL语法的方式返回这个变量的内容。
比方说,这里有个很复杂的hash,数据结构很复杂,我想看看这个hash里面的内容。除了常见的方式(直接
用print或者编历keys然后打印), 我们也可以使用Data::Daumper->Dump([\%hash])的形式。同时,
模块中定义了很多的配置参数,让用户可以调整打印格式。
简单列举几个(具体参见perldoc),这些变量在模块
$Data::Dumper::Indent
这个设置打印的缩进格式,可以设置成0,1,2和3。用户可以自己尝试下。
$Data::Dumper::Terse
如果设置这个变量,则不打印变量的名字,只打印变量的内容。
$Data::Dumper::Maxdepth
不超过这个变量的限制深度,才打印变量的内容。
下面写个程序说明问题:
#!/usr/bin/perl
use strict; use warnings;
use Data::Dumper;
my %people = ( 'name' => 'ray', 'age' => 24, 'sex' => 'man', 'food' => ['egg', 'apple'], );
# See Data::Dumper module to get the default vaule of the # following module gobal variable. You can overwrite the # default value to user defined one.
print "Show perl hash, with pre-defined variable name\n "; print "and without maxdepth\n"; $Data::Dumper::Terse = 0; # default is 0 $Data::Dumper::Indent = 3; # default is 2 $Data::Dumper::Maxdepth = 0; # default is 0 my $variable_name = '*' . "my_info"; print Data::Dumper->Dump([\%people], [$variable_name]);
print "Show perl hash, without pre-defined variable name\n "; print "and with maxdepth is 1\n"; $Data::Dumper::Terse = 1; # default is 0 $Data::Dumper::Indent = 2; # default is 2 $Data::Dumper::Maxdepth = 1; # default is 0 $variable_name = '$' . "my_info"; print Data::Dumper->Dump([\%people], [$variable_name])
ray@localhost perl]$ perl data_dumper.pl Show perl hash, with pre-defined variable name and without maxdepth %my_info = ( 'food' => [ #0 'egg', #1 'apple' ], 'name' => 'ray', 'sex' => 'man', 'age' => 24 ); Show perl hash, without pre-defined variable name and with maxdepth is 1 { 'food' => 'ARRAY(0x91d68c4)', 'name' => 'ray', 'sex' => 'man', 'age' => 24 }
|
分享到:
相关推荐
官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
RHEL 7.1安装MySQL 5.6的依赖包:perl-Data-Dumper-2.145-3.el7.x86_64.rpm
标题中的“Data-Dumper-AutoEncode”是一个Perl模块,它扩展了Perl的内置Data::Dumper模块,专门用于处理复杂的、可能包含嵌套数据结构的转储任务。这个模块引入了一个创新的功能,即“递归编码”,使得在转储过程中...
10. **Perl Data::Dumper模块**:用于调试和输出Perl数据结构,方便开发者查看和理解MHA的内部状态。 11. **Perl Proc::Daemon模块**:帮助创建守护进程,MHA Manager作为一个后台服务运行,需要这个模块实现进程...
6. **Data::Dumper**:用于格式化输出Perl数据结构的模块,非常有用调试工具。 - 示例代码: ```perl use Data::Dumper; my %hash = (foo => 1, bar => 2); print Dumper(\%hash); ``` 7. **IO::Socket**:...
在开发过程中,使用`Data::Dumper`模块可以帮助调试代码,输出变量的当前值。而适当的错误处理机制,如`eval`块和异常处理,能够确保程序在遇到问题时优雅地退出并提供有用的错误信息。 九、实战应用 书中可能包含...
- 使用`Data::Dumper`模块来打印出Perl数据结构,以便可视化和调试。 - 考虑处理XML文件中的命名空间,如果有的话,`XML::Simple`可能需要额外的配置。 - 检查错误处理,例如使用`eval`捕获可能的异常。 - 如果XML...
使用Data :: Dumper; 使用LWP; 使用时间::件; 使用Text :: CSV; 使用XML :: LibXML; 可以使用以下命令将最后两个模块安装在Debian / Ubuntu上: sudo apt-get安装libtext-csv-perl sudo apt-get安装libxml-...
`Dumpvar`是Perl模块`Data::Dumper`的一个常见用法,它可以帮助开发者打印出变量的结构和内容,这对于理解和调试复杂的程序非常有帮助。`Data::Dumper`模块提供了友好的方式来输出Perl的数据结构,如哈希(hash)、...
在 checksetup.pl 文件的输出结果中,我们可以看到缺失的模块,例如 AppConfig、CGI、Data::Dumper 等。这些模块需要单独安装。 三、安装缺失的模块 可以使用 CPAN 工具来安装缺失的模块。例如,安装 AppConfig ...
- **网络通信基础**:使用`Socket`模块进行网络编程。 - **HTTP协议处理**:通过`LWP::UserAgent`模块发送HTTP请求和接收响应。 - **FTP/SFTP操作**:使用`Net::FTP`或`Net::SFTP::Foreign`等模块进行文件传输操作。...
通常,这样的博客会涵盖以下内容:Perl的基础语法、数据处理技巧、文件I/O操作、正则表达式应用,以及可能的模块使用,如Text::CSV用于处理CSV数据,或者Data::Dumper帮助调试和展示数据结构。 标签“源码”和...
6. **异常处理与调试**:掌握错误处理和调试技巧,如使用`eval`进行异常捕获,使用`Data::Dumper`模块进行数据打印,对于编写健壮的Perl程序至关重要。 7. **脚本与命令行参数**:学习如何编写可执行的Perl脚本,...
名称CPAN::WWW::Top100::Retrieve - 从检索 CPAN Top...use Data::Dumper;my $top100 = CPAN::WWW::Top100::Retrieve->new;print Dumper( $top100->list( 'heavy' ) );描述该模块从 CPAN Top100 中检索数据并以结构化
8. **调试技巧**:学习如何使用OpenKore的内置日志系统和其他调试工具,如Perl的`Data::Dumper`模块,来查找和解决脚本中的问题。 9. **安全性和反作弊机制**:理解游戏的反作弊策略,如IP封锁、MAC地址检测和游戏...
use Data::Dumper; warn Dumper($res);warn $res->status_line;描述LWPx::ParanoidHandler 是智能防火墙。 该模块提供了一个处理程序,以防止请求到达或被(重新)定向到内部服务器、环回或多播地址。
首先,我们需要导入Device::SerialPort模块: ```perl use Device::SerialPort; ``` 接着,定义串口参数并创建一个新的串口对象: ```perl my $port = SerialPort->new("/dev/ttyS0"); # 串口号根据实际情况调整 ...
- debug技巧:如使用Data::Dumper模块来打印变量内容,或者使用perl -d命令进行交互式调试。 8. **PERL在Web开发中的应用** - CGI编程:学习如何使用PERL编写CGI脚本,处理HTTP请求。 - Mason、Template Toolkit...
`perl-IPC-Cmd`是Perl的一个模块,它提供了执行外部命令并捕获其输出的功能。离线安装Perl模块在没有互联网连接或者安全策略限制的环境下尤其重要。下面我们将详细介绍如何在Linux上离线安装`perl-IPC-Cmd`,以及...
8. **错误处理和调试**:异常处理(`eval`、`die`、`warn`),以及如何使用`Data::Dumper`等模块进行调试。 9. **perl速成教程上中下三册全**:这可能意味着教程分为三个部分,分别深入讲解基础、进阶和实践应用,...