TL;DR

Pod::Markdown and Pod::Markdown::Github are two fine modules.

Which, of course, most of us will usually ignore, thanks to the related command-line programs that allow us consuming their services without fiddling with the internals.

As the name suggests, pod2markdown converts our beloved Plain Old Documentation (POD) into the Markdown format. It’s as easy as doing this:

pod2markdown lib/My/Awesome/Module.pm README.md

But wait, there’s more! The plain pod2markdown uses indentation for your code sections, so this:

whatever
you

   do

would be represented like this:

␠␠␠␠whatever
␠␠␠␠you
␠␠␠␠
␠␠␠␠␠␠␠do

where represents - well - a space character (ASCII 0x20).

If you prefer the code fences instead, you can opt for pod2github from the second module instead. Same usage approach, just a drop-in replacement.

Aren’t they cool, really?!?