in reply to 'base' versus @ISA, why?

I ran into's flakiness just yesterday after sprinkling in the following debug line:

warn "RDBO version: $Rose::DB::Object::VERSION;"

Because that caused'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 is a good idea, but the implementation is problematic.

Marvin Humphrey
Rectangular Research ―