[tpm] eval oddness
linux at alteeve.com
Wed Dec 9 19:50:56 PST 2009
Dave Doyle wrote:
> I do not think that means what you think that means. :)
> Can I ask why you're doing "use base qw(Net::DBus::Object);" as opposed
> to "use Net::DBus::Object;" ? The 'use base' is nonsensical in this
> context as it's modifying the @ISA array. It's essentially saying "This
> class is a subclass of Net::DBus::Object" and not actually making any
> part of Net::DBus::Object available to you. I suspect just doing use
> Net::DBus::Object and you'll be fine.
> Though I'm hardpressed to explain why, using "require" instead of "use"
> seems to be more canonical when dynamically loading modules. I'm sure
> someone far smarter than I on this list could explain that. I suspect
> it's the difference between bareword and string (bareword loads a
> module, string loads the filename specifically instead of searching %INC
> for it). There's also import voodoo that won't happen (unless you do
> the voodoo yourself) but if you're only loading OO modules this
> shouldn't be a big deal.
Hrm, I guess that would explain it. However, I remember reading at some
point in the Net::DBus docs that 'use base' was needed... I'll look into
that more, thanks for the pointer!!
More information about the toronto-pm