++ed by:

2 PAUSE users
1 non-PAUSE user.

John McNamara
and 1 contributors


Pod::Simple::Wiki::Markdown - A class for creating Pod to Markdown wiki filters.


This module isn't used directly. Instead it is called via Pod::Simple::Wiki:

    #!/usr/bin/perl -w

    use strict;
    use Pod::Simple::Wiki;

    my $parser = Pod::Simple::Wiki->new('markdown');


Convert Pod to a markdown wiki format using the installed pod2wiki utility:

    pod2wiki --style markdown file.pod > file.wiki


The Pod::Simple::Wiki::Markdown module is used for converting Pod text to Markdown text.

Pod (Plain Old Documentation) is a simple markup language used for writing Perl documentation.

This module isn't generally invoked directly. Instead it is called via Pod::Simple::Wiki. See the Pod::Simple::Wiki and pod2wiki documentation for more information.


Pod::Simple::Wiki::Markdown inherits all of the methods of Pod::Simple and Pod::Simple::Wiki. See Pod::Simple and Pod::Simple::Wiki for more details.

Markdown Specific information

Some format features of Pod are not present in base Markdown (and vice-versa). In particular this module supports both code blocks and definition lists - in a somewhat inconsistent fashion. Code blocks are supported using GitHub Markdown syntax: three backticks at the start and end of the codeblock. Definition lists are (crudely) supported in the PHP Markdown Extra syntax: A colon followed by three spaces starting the line with the definition. PHP Markdown Extra works with the GitHub syntax, so this should not cause a problem. (GitHub does not support definition lists.) This module also creates nested definition lists - which may or may not be supported. (And may need extra newlines entered, which is beyond the technical limits of this module.)

Links are always output in the universal [link text](link source) format, even when it's redundant, or overlong. Anything POD considers a link will be treated as one, even if it's not a valid link. (In particular, automatic 'man page' links will not point to anything useful - the user will be required to turn (Pod::Simple) into something useful, likely your favorite interface for CPAN.)

Escapes are automatically applied to asterisks, underscores, backticks, and backslashes, and they are always required. Markdown provides escapes for other characters (in particular braces and parenthesis), but they are not required in all cases. I leave it up to the user to determine when they would be considered formatting and when they wouldn't.


This module also installs a pod2wiki command line utility. See pod2wiki --help for details.


Thanks to Daniel T. Staal for patches, documentation or bugfixes.


Please refer to the DISCLAIMER OF WARRANTY in Pod::Simple::Wiki.


John McNamara jmcnamara@cpan.org

Daniel T. Staal DStaal@usa.net


MMIII-MMXV, John McNamara, Daniel T. Staal

All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.