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