Perl / Apache errorLog消息截断

时间:2013-11-23 00:31:38

标签: perl apache

我在发送到STDERR的Perl警告消息中发生截断时遇到问题。

我正在使用Data :: Dumper吐出一些相当深的数据结构,但它们在大约8000字节后被截断。我在Apache 2.2下运行所以它可能会在那里发生但我找不到任何限制条目到errorLog的配置设置。 Data :: Dumper正在生成我期待的完整数据,因为如果我将它打印到屏幕而不是警告它到errorLog,我可以看到它。

之前有人反对这个吗?

1 个答案:

答案 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'
                                   }
                          }
                 }
        };