是否有相当于pdl2(或Devel :: REPL)中的perl调试器’x’?
发布时间:2020-12-15 22:00:06 所属栏目:大数据 来源:网络整理
导读:我正在使用pdl2( PDL shell)作为我的默认Perl交互式shell(它加载了所有漂亮的插件为 Devel::REPL ).但我错过了x dumper-printing别名. p对于piddles是好的,但它不适用于正常的数组引用或散列引用.我已经加载了 Data::Dumper ,但它缺乏一种简单的控制深度的方
我正在使用pdl2(
PDL shell)作为我的默认Perl交互式shell(它加载了所有漂亮的插件为
Devel::REPL ).但我错过了x dumper-printing别名. p对于piddles是好的,但它不适用于正常的数组引用或散列引用.我已经加载了
Data::Dumper ,但它缺乏一种简单的控制深度的方法,我喜欢你可以用x快速设置深度限制的方式,例如x 2 $deep_datastruct用于复杂数据结构.但是Data :: Dumper的过程比较麻烦:
pdl> say $c HASH(0x53b0b60) pdl> p $c HASH(0x12b14018) pdl> use Data::Dumper pdl> p Dumper $c $VAR1 = { 'c' => { 'c' => 3,'a' => 1,'b' => { 'c' => '3','a' => '1','b' => '2' } },'b' => 4 }; pdl> $Data::Dumper::Maxdepth = 1; pdl> p Dumper $c $VAR1 = { 'c' => 'HASH(0x97fba70)','b' => 4 }; 在Perl debugger中,您可以直接与x 1 $c实现同样的事情. pdl2是否有类似的东西,如此简洁? [更新] 例如,看到所有的变量(pdl2只显示piddles): pdl> help vars PDL variables in package main:: Name Type Dimension Flow State Mem ---------------------------------------------------------------- no PDL objects in package main:: 顺便说一句,有人知道一个Devel :: REPL插件,用于列出所有使用的变量(像调试器中的y,只有名字而不是值),然后有一个x-like来转储所需的变量? 解决方法
看起来Devel :: REPL为您的第一个问题提供了
straightforward alternative.在您的主目录中创建一个名为“.perldlrc”的文件,如下所示:
use Data::Dumper; sub x { my $depth = shift; $Data::Dumper::Maxdepth = $depth; print Data::Dumper->Dump([@_]) } 不幸的是,你需要一个逗号,如: pdl> x 1,$c 看起来您可以使用相同的控制文件方法实现其他命令.我没有办法摆脱对逗号的需要,虽然我认为没有任何理由Devel :: REPL不能识别和解析这些命令. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |