At 1:28 PM -0500 9/29/07, John E. Malmberg wrote:
>
>
> [-.lib.Module.Build.t]xs.t
>
>Can't locate object method "blib
>" via package "Module::Build" at
>/PROJECT_ROOT/PERL-BLEAD/lib/Module/Build/Base.
>pm line 2210.
># Looks like you planned 22 tests but only ran 15.
>
>This works find when run in debug, so I am still trying to figure out what is
>wrong. The extra line break in the error message may be a clue.
I can confirm that calling $self->blib works in the debugger but not
outside of it. And I finally figured out that the way $self->foo
gets translated internally into $self->{properties}{foo} is that
Module::Build::Base::add_property creates an anonymous subroutine on
the fly for each property as the property is created. Then it
deanonymizes it by dong a typeglob assignment like so:
*{"$class\::$property"} = sub {
my $self = shift;
$self->{properties}{$property} = shift if @_;
return $self->{properties}{$property};
}
So most likely we are clobbering the typeglob somehow, but heck if I know how.
--
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]
"... getting out of a sonnet is much more
difficult than getting in."
Brad Leithauser