Как вы думаете, вы бы заметили это, если бы увидели, что хэш выгружен? Как это:
$self = bless( {
'anotherfield' => 'something else',
'databas' => '...',
'afield' => 'something'
}, 'MyClass' );
Если вам было интересно, «Почему база данных» не установлена?!?! », и вы выбросили это, как вы думаете, это поможет? «О, он назначил« базы данных », а не« базу данных »!"
Тогда Data::Dumper
- минимальный инструмент отладки Perl
use Data::Dumper;
...
# Why isn't database assigned?!?!
say Data::Dumper->Dump( [ $self ], [ '$self' ] );
Конечно, самая удобная форма Data::Dumper
инструментов - это Smart:Comments
.
use Smart::Comments;
...
### $self
Какие выходы:
### $self: bless( {
### afield => 'something',
### anotherfield => 'something else',
### databas => '...'
### }, 'MyClass' )
Это не такой превентивный инструмент, как Moose , но он сэкономит часов . Я думаю, что это даже поможет вам освоить уловки и практики Perl, когда вы раскрываете сущность объектов CPAN. Когда вы знаете базовую структуру, у вас есть что искать в модулях CPAN.
Как я уже сказал, это решает проблему часов отслеживания ошибок (достаточно часто).