|
|
|
|
|
|
| Author |
Message |
alexxx.magni@gmail.com *nix forums beginner
Joined: 22 Mar 2006
Posts: 5
|
Posted: Fri Jul 07, 2006 1:07 pm Post subject:
most elegant way to find an installed datafile directory
|
|
|
I continue on an old topic, on which I received some help
(I cannot find anymore the link to the discussion, sorry):
| Quote: | ....
I'm beginning to use MakeMaker and have some problems with it: I need
to install some auxiliary data files, and I can't figure out how to tell that to MakeMaker.
e.g. I'd like that my final install would include some data files under /etc/projectname/
so: 1) where do I put them originally? (in lib/etc for example?)
and 2) how do I tell MakeMaker to install them in /etc/projactname ?
|
then:
| Quote: | I correct myself on a point: I just checked that if I put my datafiles
in a directory like projectname/lib/datafiles/... they are all
installed for good, in my computer under /usr/lib/perl5/site_perl/5.8.6/projectname/datafiles/...
This compromise I could accept, but how do I access that install
directory name from my program?
|
and Rob (Sisyphus) replied:
| Quote: | The prefix to that directory will be contained in one of the %Config keys -
I think it's $Config{sitelib}. That being the case, so long as you 'use
Config;' , you can access the directory as
$Config{sitelib}/projectname/datafiles/ .
|
now: I relocated my perl library from system-wide to local, with:
export PERL5LIB=$PERL5LIB:/home/x/lib/perl/lib/perl5/site_perl/
so now the datafiles that interest me are under
/home/x/lib/perl/lib/perl5/site_perl/5.8.8/projectname/...
unfortunately I see that the %Config hash does not hold this directory.
So: what is the most elegant way to find a datafile directory which has
been installed locally?
thanks!
Alessandro Magni |
|
| Back to top |
|
 |
harryfmudd [AT] comcast [ *nix forums addict
Joined: 15 Oct 2005
Posts: 82
|
Posted: Fri Jul 07, 2006 9:07 pm Post subject:
Re: most elegant way to find an installed datafile directory
|
|
|
alexxx.magni@gmail.com wrote:
| Quote: | I continue on an old topic, on which I received some help
(I cannot find anymore the link to the discussion, sorry):
....
I'm beginning to use MakeMaker and have some problems with it: I need
to install some auxiliary data files, and I can't figure out how to tell that to MakeMaker.
e.g. I'd like that my final install would include some data files under /etc/projectname/
so: 1) where do I put them originally? (in lib/etc for example?)
and 2) how do I tell MakeMaker to install them in /etc/projactname ?
then:
I correct myself on a point: I just checked that if I put my datafiles
in a directory like projectname/lib/datafiles/... they are all
installed for good, in my computer under /usr/lib/perl5/site_perl/5.8.6/projectname/datafiles/...
This compromise I could accept, but how do I access that install
directory name from my program?
and Rob (Sisyphus) replied:
The prefix to that directory will be contained in one of the %Config keys -
I think it's $Config{sitelib}. That being the case, so long as you 'use
Config;' , you can access the directory as
$Config{sitelib}/projectname/datafiles/ .
now: I relocated my perl library from system-wide to local, with:
export PERL5LIB=$PERL5LIB:/home/x/lib/perl/lib/perl5/site_perl/
so now the datafiles that interest me are under
/home/x/lib/perl/lib/perl5/site_perl/5.8.8/projectname/...
unfortunately I see that the %Config hash does not hold this directory.
So: what is the most elegant way to find a datafile directory which has
been installed locally?
thanks!
Alessandro Magni
|
I do not know about elegance, but if you have a specific module in mind,
you can load it, and then look it up in %INC. I am thinking of something
similar to
use Foo::Bar;
print "Foo::Bar corresponds to $INC{'Foo/Bar.pm'}\n";
The only other thing I can think of offhand is to traverse @INC.
Tom Wyant |
|
| Back to top |
|
 |
Google
|
|
| Back to top |
|
 |
|
|
The time now is Sun Nov 23, 2008 12:09 pm | All times are GMT
|
|
Unblock Myspace | Read this exciting weblog | Loans | Loans | Property in Spain
|
|
Copyright © 2004-2005 DeniX Solutions SRL
|
|
|
|
Other DeniX Solutions sites:
Unix/Linux blog |
electronics forum |
medicine forum |
science forum |
|
|
Privacy Policy
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|