Pod::Simple::Wiki::Markdown(3) 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.


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


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


John McNamara [email protected]

Daniel T. Staal [email protected]


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.