У меня есть отладка, которая только что отправила меня на дикий гусейз в Perl. Я исправил свою первоначальную проблему, но теперь я озадачен тем, почему мой отладчик не работает. У меня есть следующий код:
sub debug {
my ($msg) = @_;
print $DBGFILE "DBG: $msg\n" if $dbg;
}
В одном месте у меня есть вызов, чтобы напечатать массив хэшей следующим образом:
debug "v----------- parsed variables: -------------";
debug Dumper @knownVars;
debug "^----------- parsed variables: -------------";
Это, кажется, выводит только первое из закрытия до 200 записей в массиве:
DBG: v----------- parsed variables: -------------
DBG: $VAR1 = {
'local' => 1,
...
'op' => ':=',
};
DBG: ^----------- parsed variables: -------------
Если я использую отладчик и выполняю
p Dumper @knownVars
в этой строке, он выводит весь массив. Массив большой (170 записей по 40-200 строк в каждой), поэтому мне интересно, допустил ли я синтаксическую ошибку в этом или это какое-то ограничение размера буфера. (примечание perl 5.22.0)