On Sat, Oct 04, 2003 at 02:34:14PM -0400, James E Keenan wrote:
>
> .. that package Drawing is so huge that it's cumbersome to edit and you simply want 
> to store some of its publicly callable methods in other packages.  If so, then you 
> could simply import the methods from the "sub"-modules using Exporter.
> 
>    package Drawing;
>    use Drawing::Manipulate qw(Move Copy);
>    use Drawing::Defined;
>    ...
> 
>    package Drawing::Manipulate;
>    use Exporter;
>    @ISA = ("Exporter");
>    @EXPORT = qw(Move Copy);

While this is certainly more explicit, it also means that every time 
you create or rename a shared routine, you have to declare and at least
two places. Perhaps being explicit is it's own reward. I know I've found
that maintaining export/import interfaces between highly related modules
to be cumbersome at times. 

I can't see I have a better pattern to suggest for this case, rather
it's a question I've run into myself and haven't fully resolved.

        Mark

--
http://mark.stosberg.com/ 

Reply via email to