There are a large number of tools available which can be used to improve the quality of a perl module. This might mean decreasing the number of bugs in it, improving it's performance, improving it's ability to interact with various other perl tools, or making it more usable to others.
Below is a list of tools that are available which may help improve various aspects of your module. Not all will be useful in all situations, but it should still be a useful starting point.
- Change Kwalitee
- Every module should come with a description of the changes made with each version. There is a standard format that can be used. This site can be used to determine if your changes file meets the standard.
- CPAN Testers
- Once a module is released to CPAN, it is automatically tested by a set of volunteer testers on various platforms with different versions of perl. This site lists the platforms used to test the module as well as which ones succeed and which fail.
- CPANTS Kwalitee
- There are a number of best practices when creating a module. This site lists many of the most common ones and reports on which ones a module passes and which ones it fails.
- Devel::Cover, cpancover.com
- These can be used to make sure that every line in your module is covered by at least one test in the test suite.
- This is THE tool for profiling a module to see where the time is being spent in order to speed things up.
- This can be used to check perl code to see whether it uses the best practices described
in Damian Conway's Perl Best Practices book.
- This can be used to fix indentation and enforce a few other coding style practices.
- A spell checker for Pod files.
- A check list of things to look at when releasing a new module.
- A list of recommended perl modules. Especially useful are Task::Kensho::ModuleDev and
Task::Kensho::Testing which contain modules recommended for development and testing.
- Test::Pod, Test::Pod::Coverage
- These are used to make sure that no pod files are missing and that they cover
all of the functions in a module.
- Travis CI
- This tool can be used for modules stored on GitHUB. Every time a set of changes is checked in, the module will be automatically tested using a number of different perl versions to make sure that all tests pass.