wildcard includes

2000-08-08 Thread Peter Bevan

Just a thought, but I think it woul be a good idea to include the
'java-esqe' practice of including packages via foo.barr.*
or in Perl's case Foo::Bar::* (assume that the module include syntax remains
the same)...

I can see that in the case of some module directories, where the modules are
fairly insular it may not be a great idea. However there are some occations
where I think that inclusion of multiple modules would be ideal (such as
maybe LWP or Net)...

What do you think




Re: wildcard includes

2000-08-08 Thread Piers Cawley

"Peter Bevan" [EMAIL PROTECTED] writes:

 Just a thought, but I think it woul be a good idea to include the
 'java-esqe' practice of including packages via foo.barr.*
 or in Perl's case Foo::Bar::* (assume that the module include syntax remains
 the same)...
 
 I can see that in the case of some module directories, where the modules are
 fairly insular it may not be a great idea. However there are some occations
 where I think that inclusion of multiple modules would be ideal (such as
 maybe LWP or Net)...
 
 What do you think

I think that multiple question marks are the sign of an unsound mind.[1]

However, I do like the idea of syntactic sugar to load a bunch of
modules. I'm not sure you need the '*' though. Something like:

require Foo::Bar:: ;

Has no real meaning currently and could be taken to mean 'load all of
the modules under Foo::Bar'. 

Question: Should this include Foo::Bar itself?

1: Look it's a *joke*! Pinched from Terry Pratchett.

-- 
Piers






Re: wildcard includes

2000-08-08 Thread Graham Barr

On Tue, Aug 08, 2000 at 10:02:35AM +0100, Piers Cawley wrote:
 "Peter Bevan" [EMAIL PROTECTED] writes:
 
  Just a thought, but I think it woul be a good idea to include the
  'java-esqe' practice of including packages via foo.barr.*

Hey, I'm famous :)

 However, I do like the idea of syntactic sugar to load a bunch of
 modules. I'm not sure you need the '*' though. Something like:
 
 require Foo::Bar:: ;
 
 Has no real meaning currently and could be taken to mean 'load all of
 the modules under Foo::Bar'. 

It does, but probbaly not what it should be

  perl -e 'require Foo::'
Can't locate Foo/.pm in @INC

  perl -e 'Foo::-new'
Can't locate object method "new" via package "Foo" at -e line 1.

So the require probably should load Foo.pm as Foo:: is treated as Foo elsewhere
in perl.

Graham.