我在发送到STDERR的Perl警告消息中发生截断时遇到问题。
我正在使用Data :: Dumper吐出一些相当深的数据结构,但它们在大约8000字节后被截断。我在Apache 2.2下运行所以它可能会在那里发生但我找不到任何限制条目到errorLog的配置设置。 Data :: Dumper正在生成我期待的完整数据,因为如果我将它打印到屏幕而不是警告它到errorLog,我可以看到它。
之前有人反对这个吗?
答案 0 :(得分:0)
您应该根据需要设置变量 $ 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'
}
}
}
};