I ran into base.pm's flakiness just yesterday after sprinkling in the following debug line:
warn "RDBO version: $Rose::DB::Object::VERSION;"
Because that caused base.pm's dubious heuristic to indicate that there was no need to require Rose::DB::Object I saw an error message along the lines of...
Can't locate object method "mk_ro_accessors" via package "Foo" at basebug.plx line 11.The workaround:
END { no strict; warn "RDBO version: " . ${ 'Rose::DB::' . 'Object::VERSION' }; }
The $Foo::VERSION scalar doesn't have to be assigned to; its mere presence in the code as a package global gives it a stash entry and an undefined value. That's apparently enough for base.pm.
base.pm is a good idea, but the implementation is problematic.
In reply to Re: 'base' versus @ISA, why?
by creamygoodness
in thread 'base' versus @ISA, why?
by rvosa
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |