The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


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


To create a simple filter to convert from Pod to a wiki format:


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

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

    if ( defined $ARGV[0] ) {
        open IN, $ARGV[0] or die "Couldn't open $ARGV[0]: $!\n";
    else {
        *IN = *STDIN;

    if ( defined $ARGV[1] ) {
        open OUT, ">$ARGV[1]" or die "Couldn't open $ARGV[1]: $!\n";
    else {
        *OUT = *STDOUT;

    $parser->output_fh( *OUT );
    $parser->parse_file( *IN );


To convert Pod to a wiki format using the installed pod2wiki utility:

    pod2wiki --style mediawiki file.pod >


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

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

A Wiki is a user extensible web site. It uses very simple mark-up that is converted to Html. For an introduction to Wikis see:



The new method is used to create a new Pod::Simple::Wiki object. It is also used to set the output Wiki format.

    my $parser1 = Pod::Simple::Wiki->new( 'wiki' );
    my $parser2 = Pod::Simple::Wiki->new( 'mediawiki' );
    my $parser3 = Pod::Simple::Wiki->new(); # Defaults to 'wiki'

The currently supported formats are:

    wikipedia or mediawiki

Other methods

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

Supported Formats

The following wiki formats are supported by Pod::Simple::Wiki:


This is the original Wiki format as used on Ward Cunningham's Portland repository of Patterns. See


This is the format as used by Brian Ingerson's Kwiki:


This is the format used by the Usemod wikis. See:


This is the format used by TWiki wikis. See:


This is the format used by the TiddlyWiki. See:


The Textile markup format as used on GitHub. See:

wikipedia or mediawiki

This is the format used by Wikipedia and MediaWiki wikis. See:


This is the format used by GitHub and other sites. See:


This is the format used by MoinMoin wikis. See:


Emacs Muse (also known as "Muse" or "Emacs-Muse") is an authoring and publishing environment for Emacs.


This is the format used by Confluence. See:

If no format is specified the parser defaults to wiki.

Any other parameters in new will be passed on to the parent Pod::Simple object. See Pod::Simple for more details.

Porting New Wiki Formats

If you are interested in porting a new wiki format have a look at Pod::Simple::Wiki::Template.

The Pod::Simple::Wiki git repository is:


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


  • Fix some of the =over edge cases. See the TODOs in the test programs.


Thanks to Sean M. Burke for Pod::Simple. It may not be simple but sub-classing it is. :-)

Thanks to Zoffix Znet for various pull requests and fixes.

Thanks to Sam Tregar for TWiki support.

Thanks Tony Sidaway for Wikipedia/MediaWiki support.

Thanks to Daniel T. Staal for Markdown support.

Thanks to Michael Matthews for MoinMoin support.

Thanks to Christopher J. Madsen for several MediaWiki additions and tests.

Thanks Tim Bunce for the TiddlyWiki prod and Ron Savage for the port.

Thanks to Olivier 'dolmen' Mengué for various TiddlyWiki patches.

Thanks to David Bartle, Andrew Hobbs and Jim Renwick for confluence patches.

Thanks to Peter Hallam for MediaWiki enhancements.

Thanks to Marco Pessotto for the Muse format.


Because this software is licensed free of charge, there is no warranty for the software, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the software "as is" without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the software is with you. Should the software prove defective, you assume the cost of all necessary servicing, repair, or correction.

In no event unless required by applicable law or agreed to in writing will any copyright holder, or any other party who may modify and/or redistribute the software as permitted by the above licence, be liable to you for damages, including any general, special, incidental, or consequential damages arising out of the use or inability to use the software (including but not limited to loss of data or data being rendered inaccurate or losses sustained by you or third parties or a failure of the software to operate with any other software), even if such holder or other party has been advised of the possibility of such damages.


Either the Perl Artistic Licence or the GPL


John McNamara


MMIII-MMIV, John McNamara.

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