Billy N. Patton <[EMAIL PROTECTED]> writes: >I looked through man pages and read about overloading colon definitions. >I'm already doing that. But MakeMaker spits out : >FIXIN = $(PERLRUN) "-MExtUtils::MY" \ > -e "MY->fixin(shift)"
So you want to over-ride PERLRUN so that it uses the perl you want to apear in #! line rather than the one with the links resolved. The easy way to do that it modify Config.pm to have "right" path-to-perl (or get your admin to do that right in the 1st place.) But assuming you need to do this in Makefile.PL you need something like: package MY; sub constants { local $_ = shift->SUPER::constants(@_); s#/apps/perl/5.8.0/bin/perl#/usr/local/bin/perl#g; return $_; } But you probably want to generalize the "from" part of subsitute. > > >I tried : >sub MY::subdirs { >' >FIXIN = >all :: > > >But that resulted in : >EXE_FILES = clean_laff > > >FIXIN = $(PERLRUN) "-MExtUtils::MY" \ > -e "MY->fixin(shift)" > >pure_all :: $(INST_SCRIPT)/clean_laff > @$(NOOP) > >realclean :: > rm -f $(INST_SCRIPT)/clean_laff > >$(INST_SCRIPT)/clean_laff: clean_laff Makefile $(INST_SCRIPT)/.exists > @rm -f $(INST_SCRIPT)/clean_laff > cp clean_laff $(INST_SCRIPT)/clean_laff > $(FIXIN) $(INST_SCRIPT)/clean_laff > [EMAIL PROTECTED](CHMOD) $(PERM_RWX) $(INST_SCRIPT)/clean_laff > > ># --- MakeMaker subdirs section: > > >FIXIN = > > >Which tried to execute clean_laff. >I dont want to overload : >$(INST_SCRIPT)/clean_laff: .... > >That would result in mas quantities of overloaded colon definitions. >If I have to do that then I don't need to CORNfusion of MakeMaker > > >Steven N. Hirsch wrote: >> On Tue, 19 Aug 2003, Billy N. Patton wrote: >> >> >>>I use a ExtUtils::MakeMaker to create my makefile. >>> >>>In my source file I have: >>>#!/usr/local/bin/perl >>>use strict; >>>require 5.005; >>> >>>After installation into the blib and therefore the final destination I get: >>>#!/apps/perl/5.8.0/bin/perl >>> >>>eval 'exec /apps/perl/5.8.0/bin/perl -S $0 ${1+"$@"}' >>> if 0; # not running under some shell >>>use strict; >>>require 5.005; >>> >>> >>> >>>ls -l /usr/local/bin/per* >>>/usr/local/bin/perl -> perl-5.8.0 >>>/usr/local/bin/perl-5.8.0 -> /apps/perl/5.8.0/bin/perl >>> >>> >>>I have determined that the following line makes the change: >>>/usr/local/bin/perl "-MExtUtils::MY" -e "MY->fixin(shift)" >>>blib/script/clean_laff >>> >>>How do I stop this from happening? >> >> >> Although there may be a simpler method, I usually resort to subclassing >> the offending method. There's some verbiage in the MakeMaker man page >> which gives an example of the technique. >> >> If anyone knows of comprehensive documentation on MakeMaker (past what's >> in the man pages) please speak up? >> >> Steve >> >>