我在发送给STDERR的Perl警告消息中遇到截断问题。
我使用Data::Dumper来吐出一些相当深的数据结构,但它们在大约8000字节后被截断。我在Apache2.2下运行,所以可能会发生一些事情,但我找不到任何限制errorLog条目的配置设置。Data::Dumper正在生成我所期望的完整数据,因为如果我将其打印到屏幕上,而不是向errorLog发出警告,我可以看到所有数据。
以前有人遇到过这种情况吗?
您应该根据需要设置变量$Data::Dumper::Maxdepth。
例如:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
$Data::Dumper::Maxdepth = 2;
my $a = {
b => {
c => {
d => {
e => 'Hello'
}
}
}
};
print Dumper($a);
它给出以下输出:
$VAR1 = {
'b' => {
'c' => 'HASH(0x8cb688c)'
}
};
代替没有深度限制的默认输出:
$VAR1 = {
'b' => {
'c' => {
'd' => {
'e' => 'Hello'
}
}
}
};