Today around 2:34pm, Nathan Wiger hammered out this masterpiece:

: > Think on this:
: > 
: > use perlrc qw/Resource1 Resource5/; # Import only named 'Resources'
: > 
: > use perlrc qw/:all/;                # Import all 'Resources'
: 
: > This sounds much more managable than a .perlrc that get's applied globaly
: > without asking for it.
: 
: Bingo. This feature should be off by default if it exists. It should
: only be turned on if the user specifies it explicitly.

Amen!

: Otherwise you can write a module that accidentally uses your ~/.perlrc
: settings, publish it to CPAN (or commercially!), and wind up with a
: horribly broken module in the real world. Or, you can download a script,
: and it doesn't work because of your ~/.perlrc. Either one is bad.

Thinking in those terms, perhaps your .perlrc is perfect with your module
and/or application.  Ok, so send it with your module/app.  Just send it in
a different name.  Think on this syntax:

use perlrc './.my_apps.perlrc' => qw/:all/;

# or, use the default .perlrc

use perlrc qw/:all/; # uses some version of `.perlrc'


Or, in more wild fasion... Perl modules may also contain `rc files` in
their distribution.  Perhaps they live under a special directory, for
instance:

$PERLLIB    = '/usr/local/lib/perl5';

$PERLRCLIB  = "$PERLLIB/rclib/6.0.0"; # Version is just for example

$PERLSITERCLIB = "$PERLLIB/site_perl";

I think most of you get the idea.  This way, you could still say in your
module:

use perlrc qw/:all/;

because there would be a naming convention involved similar to:

Module          RC File
------          -------
CGI.pm          CGI.rc
Shell.pm        Shell.rc
File/Find.pm    File/Find.rc

And so on.

Just some thoughts.

-- 
print(join(' ', qw(Casey R. Tweten)));my $sig={mail=>'[EMAIL PROTECTED]',site=>
'http://home.kiski.net/~crt'};print "\n",'.'x(length($sig->{site})+6),"\n";
print map{$_.': '.$sig->{$_}."\n"}sort{$sig->{$a}cmp$sig->{$b}}keys%{$sig};
my $VERSION = '0.01'; #'patched' by Jerrad Pierce <belg4mit at MIT dot EDU>

Reply via email to