I suggest that you use Module::Build instead of ExtUtils::MakeMaker.
过程 6.2. MakeMaker
-
Makefile.PL
use ExtUtils::MakeMaker; WriteMakefile(NAME => 'Hello', VERSION => '1.00', EXE_FILES => ['hello'] );
-
MANIFEST
Makefile.PL hello
-
hello
#!/usr/bin/env perl use strict; use warnings; print "Hello, world!\n";
$ chmod u+x hello
-
$ perl Makefile.PL
neo@master:~/neo/unit-test$ perl Makefile.PL Checking if your kit is complete... Looks good Writing Makefile for Hello
-
$ make dist
neo@master:~/neo/unit-test$ make dist rm -rf Hello-1.00 \/usr/bin/perl "-MExtUtils::Manifest=manicopy,maniread" \ -e "manicopy(maniread(),'Hello-1.00', 'best');" mkdir Hello-1.00 Generating META.yml Could not add META.yml to MANIFEST: Could not open MANIFEST: No such file or directory at /usr/share/perl/5.8/ExtUtils/Manifest.pm line 565. tar cvf Hello-1.00.tar Hello-1.00 Hello-1.00/ Hello-1.00/hello Hello-1.00/META.yml Hello-1.00/Makefile.PL rm -rf Hello-1.00 gzip --best Hello-1.00.tar neo@master:~/neo/unit-test$ ls hello Hello-1.00.tar.gz Makefile Makefile.PL MANIFEST
get tarball ready to install with tar zxvf Hello-1.00.tar.gz; cd Hello-1.00; perl Makefile.PL; make; make install
-
test
make test
TEST_FILE
make test TEST_FILE=t/hello.t
testdb
make testdb TEST_FILE=t/hello.t
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。