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