Dumpvalue - 提供 Perl 数据的屏幕转储。
use Dumpvalue;
my $dumper = Dumpvalue->new;
$dumper->set(globPrint => 1);
$dumper->dumpValue(\*::);
$dumper->dumpvars('main');
my $dump = $dumper->stringify($some_value);
通过调用创建一个新的转储器
$d = Dumpvalue->new(option1 => value1, option2 => value2)
识别选项
arrayDepth
, hashDepth
仅打印数组和哈希的前 N 个元素。如果为假,则打印所有元素。
compactDump
, veryCompact
更改数组和哈希转储的样式。如果为真,则短数组可以打印在一行上。
globPrint
是否打印全局变量的内容。
dumpDBFiles
转储包含调试文件内容的数组。
dumpPackages
转储包的符号表。
dumpReused
转储“重复使用”地址的内容。
tick
, quoteHighBit
, printUndef
更改字符串转储的样式。tick
的默认值为 auto
,可以通过将其设置为 "
或 '
来启用双引号转储或单引号转储。默认情况下,高位设置为 1 的字符将按原样打印。如果设置了 quoteHighBit
,它们将被引用。
usageOnly
基本的每个包内存使用情况转储。如果设置,dumpvars
会计算包中变量中字符串的总大小。
更改字符串打印样式。可能的值为 unctrl
和 quote
。
是否尝试根据引用查找子例程名称。
是否写入字符串化重载对象的非重载形式。
是否以二进制形式打印高位设置为 1 的字符,还是“按原样”打印。
是否在调试器信号标志被触发时中止打印。
在对象生命周期的后期,可以使用 get() 方法和 set() 方法(接受多个参数)查询这些方法。
$dumper->dumpValue($value);
$dumper->dumpValue([$value1, $value2]);
将转储打印到当前选定的文件句柄。
$dumper->dumpValues($value1, $value2);
与 $dumper->dumpValue([$value1, $value2]);
相同。
my $dump = $dumper->stringify($value [,$noticks] );
返回单个标量的转储,但不打印。如果第二个参数为真,则返回值不包含封闭的引号。不处理数据结构。
$dumper->dumpvars('my_package');
$dumper->dumpvars('my_package', 'foo', '~bar$', '!......');
可选参数被视为文字字符串,除非它们以 ~
或 !
开头,在这种情况下,它们被解释为正则表达式(可能被否定)。
第二个示例打印名称为 foo
的条目,以及名称以 bar
结尾或长度小于 5 个字符的条目。
$d->set_quote('"');
将 tick
和 unctrl
选项设置为适合使用给定引号字符进行打印的值。可能的值为 auto
、'
和 "
。
$d->set_unctrl('unctrl');
设置 unctrl
选项,并检查无效参数。可能的值为 unctrl
和 quote
。
$d->compactDump(1);
设置 compactDump
选项。如果值为 1,则设置为一个合理的大数字。
$d->veryCompact(1);
同时设置 compactDump
和 veryCompact
选项。
$d->set(option1 => value1, option2 => value2);
@values = $d->get('option1', 'option2');