View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Apocalypse > Pod-Spell-CommonMistakes-1.000 > Pod::Spell::CommonMistakes



Annotate this POD



Open  1
Stalled  1
View/Report Bugs
Module Version: 1.000   Source   Latest Release: Pod-Spell-CommonMistakes-1.002


Pod::Spell::CommonMistakes - Catches common typos in POD


  This document describes v1.000 of Pod::Spell::CommonMistakes - released February 21, 2011 as part of Pod-Spell-CommonMistakes.


        use strict; use warnings;

        use Pod::Spell::CommonMistakes qw( check_pod );

        my $file = $ARGV[0] || 'lib/Pod/Spell/';
        my $result = check_pod( $file );
        if ( keys %$result == 0 ) {
                print "File passed tests!\n";
        } else {
                print "File failed tests!\n";
                foreach my $k ( keys %$result ) {
                        print " Found: '$k' - Possible spelling: '$result->{$k}'?\n";


This module looks for any typos in your POD. It differs from Pod::Spell or Test::Spelling because it uses a custom wordlist and doesn't use the system spellchecker. The idea for this came from the code in Debian, thanks!

To use this, just pass it a filename that has POD in it and you'll get a hashref back. If the hashref is empty that means the checker found no misspelled words. If it contains keys, then the keys are the bad words and the values are the suggested spelling.


check_pod( $filename )

This function is what you will usually run. It will run the spell checks against the POD in $filename. Warning: you would need to catch any exceptions thrown from this function!

It returns a hashref of misspelled words and their suggested spelling. If the hash is empty then there is no errors in the POD.

check_pod_case( $filename )

This function behaves the same as "check_pod( $filename )" but it uses a "case" wordlist instead. The difference is that this wordlist will make sure you capitalize common terms properly. One example is: OpenLdap => OpenLDAP.

NOTE: This does NOT run the same checks as "check_pod( $filename )"! You would need to use the "check_pod_all( $filename )" function.

check_pod_all( $filename )

This function behaves the same as "check_pod( $filename )" but it runs all the extra checks too. Currently it's just the case wordlist but others might be added in the future...


You would need to manually get the function you want.


Please see those modules/websites for more information related to this module.



You can find documentation for this module with the perldoc command.

  perldoc Pod::Spell::CommonMistakes


The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.


You can email the author of this module at APOCAL at asking for help with any problems you have.

Internet Relay Chat

You can get live help by using IRC ( Internet Relay Chat ). If you don't know what IRC is, please read this excellent guide: Please be courteous and patient when talking to us, as we might be busy or sleeping! You can join those networks/channels and get help:

Bugs / Feature Requests

Please report any bugs or feature requests by email to bug-pod-spell-commonmistakes at, or through the web interface at You will be automatically notified of any progress on the request by the system.

Source Code

The code is open to the world, and available for you to hack on. Please feel free to browse it and play with it, or whatever. If you want to contribute patches, please send me a diff or prod me to pull from your repository :)

  git clone git://


Apocalypse <>


Props goes out to jawnsy@irc for pointing out a spelling mistake in POE, which prompted me to write this.

THANKS goes out to the Debian Lintian code, as it was a great starting place!


This software is copyright (c) 2011 by Apocalypse.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

The full text of the license can be found in the LICENSE file included with this distribution.

syntax highlighting: