Rob Richardson wrote: > Simran, > > Thank you very much for your reply. I see what you're saying about > @EXPORT. I really don't want to be mixing namespaces. And yes, cars > do have names. I'm not modeling them in my system yet, but I should > be ready. > > I have a couple of follow-up questions. > >> A "neater" less ambigious way of doing that is probably: >> >> $self->{'name'} = shift; >> > > Yes, that is better. Thanks!
or even $self->{name} = shift; (you can use barewords as hash keys, here and before => in a hash constant) > > I may not use @EXPORT, but @EXPORT_OK is not bad, nor is @ISA. What > is the cause of this package problem? How do I get around it? Do I > need to use @Exporter::EXPORT_OK? What package is @ISA in? (Hmmm... > shades of Mr. Clinton here.) Declare them with our (@EXPORT, @EXPORT_OK, @ISA); But you're getting confused between a module and an object class. Traditional modules have an interface accessible through their package name and typically use Export. Object modules /can/ use Export, but their primary interface is through an object instance. A common use of Export in object modules is to export constant values relevant to users of the module. HTH, Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]