Hi Tim,
On 05/09/2011 04:22 PM, Tim Bergsma wrote:
I wrote/maintain a perl-based thing named NMQual
(http://nmqual.googlecode.com). It creates value-added installations
of NONMEM(r), a licensed fortran program for fitting nonlinear mixed
effects models.
One problem I have is that my scripts don't know unambiguously where
to find my subroutines (usually a .pm file in same directory). "use
lib $FindBin::Bin;" seems to be guessing, and "rewriting" the scripts
on an installation-specific basis seems to be a hack.
It occurred to me that perhaps I should communicate my routines
through CPAN, and let perl just find them on @INC. If that is a good
idea, please comment on appropriate module name.
Googling "nmqual" returns a first page with all-appropriate hits.
Should I consider NMQual (Nmqual?) as a top-level namespace? More
than half my routines are convenience abstractions, borrowing heavily
from File::Spec. A large chunk implements patching with context-style
diffs in a platform neutral way (relies on Text::Patch) so that I
don't have to worry about Windows users not having the system patch
utility (although I may have to worry about ActivePerl users not
finding my package).
sorry for the super-long delay. modules@perl.org is *mostly* for
administrative issues around modules and the CPAN. Though we do try to
give advice, there's only a few of us admins. Generally speaking, you
will receive more feedback on discussion lists such as
module-auth...@perl.org or forums such as Perlmonks or Stackoverflow.
That being said, since this sounds like an application rather than a
module, you could use App::NMQual (with whatever casing of NMQual). In
the CPAN distribution that you'd create for it, you would put the
executable into the bin/ or scripts subdirectory and point the build
tools at that directory. See the EXE_FILES option in the
ExtUtils::MakeMaker documentation, for example. Those scripts will the
be installed into some directory within PATH on normal unixlike systems.
Best regards,
Steffen