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

Reply via email to