Check your module POD using perldoc

Perl ships with a command-line program called perldoc that makes it easier to search and read Perl’s vast documentation in the POD markup language. If perldoc is called with the -F flag, it will display the POD markup of an input file - this can be useful when your are developing a new Perl distribution and want to check the appearance of the POD in your module before it appears on CPAN for all to see.

# Pass a local file to perldoc

perldoc -F

This will then display the POD markup:


       Net::OpenVPN::ProxyManager - connect to proxy servers using OpenVPN.

       use Net::OpenVPN::ProxyManager;
       my $pm = Net::OpenVPN::ProxyManager->new;

       # Create a config object to capture proxy server details
       my $config_object = $pm->create_config({remote => ' 53', proto => 'udp'});

       # Launch OpenVPN and connect to the proxy
       # do some stuff

       # Disconnect from the proxy server

       Net::OpenVPN::ProxyManager is an object oriented module that provides methods to simplify the management of proxy connections that support OpenVPN.

This is a base generic class, see Net::OpenVPN::ProxyManager::HMA for additional methods to interact with proxy servers.

       The constructor accepts an anonymous hash for two optional parameters: config_path and warning_flag. config_path is the path that will use to create the config file when the create_config method is called. By default config_path is set to '/tmp/openvpn-config.conf'.

This article was originally posted on


David Farrell

David is the editor of An organizer of the New York Perl Meetup, he works for ZipRecruiter as a software developer, and sometimes tweets about Perl and Open Source.

Browse their articles


Something wrong with this article? Help us out by opening an issue or pull request on GitHub