Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

Use ExtUtils::MakeMaker to install scripts

by IlyaM (Parson)
on Dec 27, 2002 at 10:17 UTC ( #222511=note: print w/ replies, xml ) Need Help??


in reply to Re: shebang line - foreign to me
in thread shebang line - foreign to me

Exactly. This is why for all Perl scripts I'm going to distrubute on other systems I use ExtUtils::MakeMaker which does such patching automatically.

It is very simple:

< Makefile.PL file > use ExtUtils::MakeMaker; WriteMakefile(NAME => 'Hello', VERSION => '1.00', EXE_FILES => ['hello']); < MANIFEST file > Makefile.PL hello < hello file > #!perl use strict; use warnings; print "Hello, world!\n";
Once finished you can type perl Makefile.PL; make dist and get tarball ready to install with tar zxvf Hello-1.00.tar.gz; cd Hello-1.00; perl Makefile.PL; make; make install

Update: Replaced 'script.pl' with 'hello' in 'MANIFEST'.

--
Ilya Martynov, ilya@iponweb.net
CTO IPonWEB (UK) Ltd
Quality Perl Programming and Unix Support UK managed @ offshore prices - http://www.iponweb.net
Personal website - http://martynov.org


Comment on Use ExtUtils::MakeMaker to install scripts
Select or Download Code
•Re: Re: Re: shebang line - foreign to me
by merlyn (Sage) on Dec 27, 2002 at 17:58 UTC
    Exactly. This is why for all Perl scripts I'm going to distrubute on other systems I use ExtUtils::MakeMaker which does such patching automatically.
    Either that's a recent feature (and therefore not portable), or hasn't been documented.

    Where did you find out about this?

    -- Randal L. Schwartz, Perl hacker
    Be sure to read my standard disclaimer if this is a reply.

      Either that's a recent feature (and therefore not portable), or hasn't been documented.

      I think it was there at least since 5.005. There is some mentions of this feature in ExtUtils::MM_Unix (search for fixin) but it seems it is not documented anywhere properly.

      Where did you find out about this?

      From personal experience. I just noticed that ExtUtils::MakeMaker always replaces my shebang with something else :) For example on my Linux system it replaces existing shebang with

      #!/usr/bin/perl -w eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}' if 0; # not running under some shell
      On Win32 I noticed that ExtUtils::MakeMaker does another magic. It creates .bat file which wraps perl script and adds .pl extenstion to perl script when doing its installation. I found that at least on Unix, Unix-like systems and on Win32 systems ExtUtils::MakeMaker does the right thing.

      --
      Ilya Martynov, ilya@iponweb.net
      CTO IPonWEB (UK) Ltd
      Quality Perl Programming and Unix Support UK managed @ offshore prices - http://www.iponweb.net
      Personal website - http://martynov.org

Re: Use ExtUtils::MakeMaker to install scripts
by jmerelo (Sexton) on Feb 02, 2005 at 11:07 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://222511]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others scrutinizing the Monastery: (5)
As of 2015-07-06 05:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls