25. package Local::Null::Logger {
sub new { bless my $x, $_[0] }
sub AUTOLOAD { shift; print @_, $/ }
sub DESTROY { 1 }
}
!
sub _init_logger {
my $log4perl_loaded =
eval "require Log::Log4perl; 1";
unless( $log4perl_loaded ){
return Local::Null::Logger->new;
}
...;
}
26. $object->foo->bar->baz->quux;
!
package Class {
sub bar {
return Null->new if $error;
}
}
!
package Null {
my $null = bless {}, __PACKAGE__;
sub new { $null }
sub AUTOLOAD { return $_[0] }
sub DESTROY { 1 }
}