NAME Module::Install::ReadmeFromPod - A Module::Install extension to automatically convert POD to a README SYNOPSIS # In Makefile.PL use inc::Module::Install; author 'Vestan Pants'; license 'perl'; readme_from 'lib/Some/Module.pm'; readme_from 'lib/Some/Module.pm', { clean => 1, format => 'htm', output_file => 'SomeModule.html' }; A "README" file will be generated from the POD of the indicated module file. Note that the author will need to make sure "Module::Install::ReadmeFromPod" is installed before running the "Makefile.PL". (The extension will be bundled into the user-side distribution). DESCRIPTION Module::Install::ReadmeFromPod is a Module::Install extension that generates a "README" file automatically from an indicated file containing POD, whenever the author runs "Makefile.PL". Several output formats are supported: plain-text, HTML, PDF or manpage. COMMANDS This plugin adds the following Module::Install command: "readme_from" Does nothing on the user-side. On the author-side it will generate a "README" file. readme_from 'lib/Some/Module.pm'; If a second parameter is set to a true value then the "README" will be removed at "make distclean". readme_from 'lib/Some/Module.pm', 1; A third parameter can be used to determine the format of the "README" file. readme_from 'lib/Some/Module.pm', 1, 'htm'; Valid formats for this third parameter are: txt, text Produce a plain-text "README" file using Pod::Text. The 'txt' format is the default. htm, html Produce an HTML "README.htm" file using Pod::Html. man Produce a "README.1" manpage using Pod::Man. md Produce a "README.md" file using Pod::Markdown. pdf Produce a PDF "README.pdf" file with App::pod2pdf if this module is installed. A fourth parameter can be used to supply an output filename. readme_from 'lib/Some/Module.pm', 0, 'pdf', 'SomeModule.pdf'; Finally, you can pass additional arguments to the POD formatter that handles the requested format. my @options = ( 'release' => 1.03, 'section' => 8 ); # options for Pod::Man readme_from 'lib/Some/Module.pm', 1, 'man', undef, @options; But instead of passing this long list of optional arguments to readme_from, you should probably pass these arguments as a named hashref for clarity. my @options = ( 'release' => 1.03, 'section' => 8 ); readme_from 'lib/Some/Module.pm', {clean => 1, format => 'man', output_file => undef, options => @options}; If you use the "all_from" command, "readme_from" will default to that value. all_from 'lib/Some/Module.pm'; readme_from; # Create README from lib/Some/Module.pm readme_from '','clean'; # Put a empty string before 'clean' AUTHOR Chris "BinGOs" Williams LICENSE Copyright © Chris Williams This module may be used, modified, and distributed under the same terms as Perl itself. Please see the license that came with your Perl distribution for details. SEE ALSO Module::Install Pod::Text Pod::Html Pod::Man Pod::Markdown App::pod2pdf