#!/usr/bin/env perl -w use strict; use warnings; use Test::More; use constant NEW_PERL => 5.008; use constant MIN_TPV => 1.26; use constant MIN_PSV => 3.05; my(@errors, $eok); $eok = eval { require Test::Pod; 1; }; push @errors, 'Test::Pod is required for testing POD' if $@ || ! $eok; $eok = eval { require Pod::Simple; 1; }; push @errors, 'Pod::Simple is required for testing POD' if $@ || ! $eok; if ( not @errors ) { my $tpv = Test::Pod->VERSION; my $psv = Pod::Simple->VERSION; if ( $tpv < MIN_TPV ) { push @errors, 'Upgrade Test::Pod to 1.26 to run this test. ' ."Detected version is: $tpv"; } if ( $psv < MIN_PSV ) { push @errors, 'Upgrade Pod::Simple to 3.05 to run this test. ' ."Detected version is: $psv"; } } if ( $] < NEW_PERL ) { # Any older perl does not have Encode.pm. Thus, Pod::Simple # can not handle utf8 encoding and it will die, the tests # will fail. This skip part, skips an inevitable failure. push @errors, '"=encoding utf8" directives in Pods don\'t work ' .'with legacy perl.'; } if ( @errors ) { plan skip_all => "Errors detected: @errors"; } else { Test::Pod::all_pod_files_ok(); }