ExtUtils::MakeMaker::Tutorial - Writing a module with MakeMaker
use ExtUtils::MakeMaker;
WriteMakefile( NAME => 'Your::Module', VERSION_FROM => 'lib/Your/Module.pm' );
perl Makefile.PL make make test make install
There are lots more commands and options, but the above will do it.
Makefile.PL MANIFEST lib/Your/Module.pm
That's all that's strictly necessary. There's additional files you might want:
lib/Your/Other/Module.pm t/some_test.t t/some_other_test.t Changes README INSTALL MANIFEST.SKIP bin/some_program
Here's an example of what you need for a simple module:
use ExtUtils::MakeMaker;
WriteMakefile( NAME => 'Your::Module', VERSION_FROM => 'lib/Your/Module.pm' );
NAME is the top-level namespace of your module. VERSION_FROM is the file which contains the $VERSION variable for the entire distribution. Typically this is the same as your top-level module.
Makefile.PL MANIFEST lib/Your/Module.pm
File paths in a MANIFEST always use Unix conventions (ie. /) even if you're not on Unix.
You can write this by hand or generate it with 'make manifest'.
See ExtUtils::Manifest for more details.
Tests are run from the top level of your distribution. So inside a test you would refer to ./lib to enter the lib directory, for example.
1.01 Fri Apr 11 00:21:25 PDT 2003 - thing() does some stuff now - fixed the wiggy bug in withit()
1.00 Mon Apr 7 00:57:15 PDT 2003 - "Rain of Frogs" now supported
any extra modules required for use the minimum version of Perl required if only works on certain operating systems
Here's a sample:
~$ # ignore emacs and vim backup files .bak$ # ignore manual backups \# # ignore CVS old revision files and emacs temp files
Since # can be used for comments, # must be escaped.
MakeMaker comes with a default MANIFEST.SKIP to avoid things like version control directories and backup files. Specifying your own will override this default.
perlnewmod gives more information about how to write a module.
There are modules to help you through the process of writing a module: ExtUtils::ModuleMaker, Module::Install, PAR
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |