`

Data::Dumper模块使用小例

    博客分类:
  • Perl
阅读更多

最近用了一把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
           }

分享到:
评论

相关推荐

    perl-Data-Dumper-2.161-5.module_el8.1.0+229+cd132df8.aarch64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    perl-Data-Dumper-2.145-3.el7.x86_64.rpm

    RHEL 7.1安装MySQL 5.6的依赖包:perl-Data-Dumper-2.145-3.el7.x86_64.rpm

    Data-Dumper-AutoEncode:使用递归编码进行转储

    标题中的“Data-Dumper-AutoEncode”是一个Perl模块,它扩展了Perl的内置Data::Dumper模块,专门用于处理复杂的、可能包含嵌套数据结构的转储任务。这个模块引入了一个创新的功能,即“递归编码”,使得在转储过程中...

    mysql基于mha高可用部署,需要的mha所有依赖包

    10. **Perl Data::Dumper模块**:用于调试和输出Perl数据结构,方便开发者查看和理解MHA的内部状态。 11. **Perl Proc::Daemon模块**:帮助创建守护进程,MHA Manager作为一个后台服务运行,需要这个模块实现进程...

    perl常用模块例子

    6. **Data::Dumper**:用于格式化输出Perl数据结构的模块,非常有用调试工具。 - 示例代码: ```perl use Data::Dumper; my %hash = (foo => 1, bar => 2); print Dumper(\%hash); ``` 7. **IO::Socket**:...

    Network_Programming_With_Perl

    在开发过程中,使用`Data::Dumper`模块可以帮助调试代码,输出变量的当前值。而适当的错误处理机制,如`eval`块和异常处理,能够确保程序在遇到问题时优雅地退出并提供有用的错误信息。 九、实战应用 书中可能包含...

    perl program for xml simple reading

    - 使用`Data::Dumper`模块来打印出Perl数据结构,以便可视化和调试。 - 考虑处理XML文件中的命名空间,如果有的话,`XML::Simple`可能需要额外的配置。 - 检查错误处理,例如使用`eval`捕获可能的异常。 - 如果XML...

    slsp_alma_api

    使用Data :: Dumper; 使用LWP; 使用时间::件; 使用Text :: CSV; 使用XML :: LibXML; 可以使用以下命令将最后两个模块安装在Debian / Ubuntu上: sudo apt-get安装libtext-csv-perl sudo apt-get安装libxml-...

    example_perl.rar_dumpvar.pl_perl example_perl 例子

    `Dumpvar`是Perl模块`Data::Dumper`的一个常见用法,它可以帮助开发者打印出变量的结构和内容,这对于理解和调试复杂的程序非常有帮助。`Data::Dumper`模块提供了友好的方式来输出Perl的数据结构,如哈希(hash)、...

    linux下bugzilla安装配置全过程

    在 checksetup.pl 文件的输出结果中,我们可以看到缺失的模块,例如 AppConfig、CGI、Data::Dumper 等。这些模块需要单独安装。 三、安装缺失的模块 可以使用 CPAN 工具来安装缺失的模块。例如,安装 AppConfig ...

    Perl语言入门(第五版)

    - **网络通信基础**:使用`Socket`模块进行网络编程。 - **HTTP协议处理**:通过`LWP::UserAgent`模块发送HTTP请求和接收响应。 - **FTP/SFTP操作**:使用`Net::FTP`或`Net::SFTP::Foreign`等模块进行文件传输操作。...

    Perl统计小工具开发

    通常,这样的博客会涵盖以下内容:Perl的基础语法、数据处理技巧、文件I/O操作、正则表达式应用,以及可能的模块使用,如Text::CSV用于处理CSV数据,或者Data::Dumper帮助调试和展示数据结构。 标签“源码”和...

    perl完美教程网站克隆版

    6. **异常处理与调试**:掌握错误处理和调试技巧,如使用`eval`进行异常捕获,使用`Data::Dumper`模块进行数据打印,对于编写健壮的Perl程序至关重要。 7. **脚本与命令行参数**:学习如何编写可执行的Perl脚本,...

    perl-cpan-www-top100-retrieve:从 http 检索 CPAN Top100 数据

    名称CPAN::WWW::Top100::Retrieve - 从检索 CPAN Top...use Data::Dumper;my $top100 = CPAN::WWW::Top100::Retrieve->new;print Dumper( $top100->list( 'heavy' ) );描述该模块从 CPAN Top100 中检索数据并以结构化

    OpenKore1.9.1版教程

    8. **调试技巧**:学习如何使用OpenKore的内置日志系统和其他调试工具,如Perl的`Data::Dumper`模块,来查找和解决脚本中的问题。 9. **安全性和反作弊机制**:理解游戏的反作弊策略,如IP封锁、MAC地址检测和游戏...

    LWPx-ParanoidHandler

    use Data::Dumper; warn Dumper($res);warn $res->status_line;描述LWPx::ParanoidHandler 是智能防火墙。 该模块提供了一个处理程序,以防止请求到达或被(重新)定向到内部服务器、环回或多播地址。

    perl脚本写的串口程序

    首先,我们需要导入Device::SerialPort模块: ```perl use Device::SerialPort; ``` 接着,定义串口参数并创建一个新的串口对象: ```perl my $port = SerialPort->new("/dev/ttyS0"); # 串口号根据实际情况调整 ...

    PERL编程思想 提升

    - debug技巧:如使用Data::Dumper模块来打印变量内容,或者使用perl -d命令进行交互式调试。 8. **PERL在Web开发中的应用** - CGI编程:学习如何使用PERL编写CGI脚本,处理HTTP请求。 - Mason、Template Toolkit...

    linux 离线安装perl-IPC-Cmd

    `perl-IPC-Cmd`是Perl的一个模块,它提供了执行外部命令并捕获其输出的功能。离线安装Perl模块在没有互联网连接或者安全策略限制的环境下尤其重要。下面我们将详细介绍如何在Linux上离线安装`perl-IPC-Cmd`,以及...

    perl速成教程

    8. **错误处理和调试**:异常处理(`eval`、`die`、`warn`),以及如何使用`Data::Dumper`等模块进行调试。 9. **perl速成教程上中下三册全**:这可能意味着教程分为三个部分,分别深入讲解基础、进阶和实践应用,...

Global site tag (gtag.js) - Google Analytics