@@ -1,5 +1,15 @@
Revision history for Bot::Training
+0.06 2015-01-08 15:15:12
+
+ - Fixed "Can't modify split in chomp" error (See http://www.cpantesters.org/cpan/report/6e341b28-9675-11e4-a3f3-4fad3a6893cb).
+ - Added Dist::Zilla::Plugin::MinimumPerl to fix errors in Perl versions < 5.10
+ - Renamed MooseX::Getopt _getopt_full_usage to print_usage_text, see https://rt.cpan.org/Ticket/Display.html?id=82278
+
+0.05 2015-01-07 13:55:58
+
+ - Removed deprecated dependencies: Any::Moose and Class::MOP::load_class
+
0.04 2010-05-12 03:41:15
- Remove X::Types use and depend on Moose/Mouse
@@ -1,4 +1,4 @@
-This software is copyright (c) 2010 by Ævar Arnfjörð Bjarmason.
+This software is copyright (c) 2015 by Ævar Arnfjörð Bjarmason.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
@@ -12,21 +12,22 @@ b) the "Artistic License"
--- The GNU General Public License, Version 1, February 1989 ---
-This software is Copyright (c) 2010 by Ævar Arnfjörð Bjarmason.
+This software is Copyright (c) 2015 by Ævar Arnfjörð Bjarmason.
This is free software, licensed under:
The GNU General Public License, Version 1, February 1989
- GNU GENERAL PUBLIC LICENSE
- Version 1, February 1989
+ GNU GENERAL PUBLIC LICENSE
+ Version 1, February 1989
Copyright (C) 1989 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
- Preamble
+ Preamble
The license agreements of most software companies try to keep users
at the mercy of those companies. By contrast, our General Public
@@ -67,7 +68,7 @@ authors' reputations.
The precise terms and conditions for copying, distribution and
modification follow.
- GNU GENERAL PUBLIC LICENSE
+ GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any program or other work which
@@ -185,7 +186,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
- NO WARRANTY
+ NO WARRANTY
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
@@ -207,9 +208,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
- END OF TERMS AND CONDITIONS
+ END OF TERMS AND CONDITIONS
- Appendix: How to Apply These Terms to Your New Programs
+ Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to humanity, the best way to achieve this is to make it
@@ -235,8 +236,9 @@ the exclusion of warranty; and each file should have at least the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
+
Also add information on how to contact you by electronic and paper mail.
@@ -270,7 +272,7 @@ That's all there is to it!
--- The Artistic License 1.0 ---
-This software is Copyright (c) 2010 by Ævar Arnfjörð Bjarmason.
+This software is Copyright (c) 2015 by Ævar Arnfjörð Bjarmason.
This is free software, licensed under:
@@ -1,8 +1,10 @@
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.029.
Changes
LICENSE
MANIFEST
META.json
META.yml
+Makefile.PL
README
bin/bot-training
dist.ini
@@ -12,4 +14,4 @@ t/00-compile.t
t/bot-training.t
t/lib/Bot/Training/Test.pm
t/lib/auto/Bot/Training/Test/test.trn
-t/release-pod-syntax.t
\ No newline at end of file
+t/release-pod-syntax.t
@@ -1,22 +1,16 @@
{
"abstract" : "Plain text training material for bots like L<Hailo> and L<AI::MegaHAL>",
"author" : [
- "\u00c3\u0086var Arnfj\u00c3\u00b6r\u00c3\u00b0 Bjarmason <avar@cpan.org>"
+ "Ævar Arnfjörð Bjarmason <avar@cpan.org>"
+ ],
+ "dynamic_config" : 0,
+ "generated_by" : "Dist::Zilla version 5.029, CPAN::Meta::Converter version 2.143240",
+ "license" : [
+ "perl_5"
],
- "build_requires" : {
- "File::Find" : "0",
- "File::Slurp" : "0",
- "File::Temp" : "0",
- "Test::More" : "0"
- },
- "configure_requires" : {
- "ExtUtils::MakeMaker" : "6.31"
- },
- "generated_by" : "Dist::Zilla version 2.101290",
- "license" : "perl",
"meta-spec" : {
- "url" : "http://module-build.sourceforge.net/META-spec-v1.4.html",
- "version" : 1.4
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : 2
},
"name" : "Bot-Training",
"no_index" : {
@@ -24,33 +18,68 @@
"t"
]
},
- "recommends" : {},
- "requires" : {
- "Any::Moose" : "0",
- "Class::MOP" : "0",
- "Dir::Self" : "0",
- "Encode" : "0",
- "File::ShareDir" : "0",
- "File::Spec::Functions" : "0",
- "List::Util" : "0",
- "Module::Pluggable" : "0",
- "Moose" : "0",
- "MooseX::Getopt::Dashes" : "0",
- "Mouse" : "0",
- "MouseX::Getopt::Dashes" : "0",
- "Pod::Usage" : "0",
- "autodie" : "0",
- "namespace::clean" : "0",
- "open" : "0",
- "perl" : "5.010"
+ "prereqs" : {
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "0",
+ "perl" : "5.010"
+ }
+ },
+ "develop" : {
+ "requires" : {
+ "Test::Pod" : "1.41"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "Any::Moose" : "0",
+ "Class::Load" : "0",
+ "Dir::Self" : "0",
+ "Encode" : "0",
+ "File::ShareDir" : "0",
+ "File::Spec::Functions" : "0",
+ "List::Util" : "0",
+ "Module::Pluggable" : "0",
+ "Moose" : "0",
+ "MooseX::Getopt::Dashes" : "0",
+ "Pod::Usage" : "0",
+ "autodie" : "0",
+ "namespace::clean" : "0",
+ "open" : "0",
+ "perl" : "5.010",
+ "strict" : "0",
+ "warnings" : "0"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "File::Slurp" : "0",
+ "File::Spec" : "0",
+ "IO::Handle" : "0",
+ "IPC::Open3" : "0",
+ "Test::More" : "0",
+ "lib" : "0",
+ "perl" : "5.010"
+ }
+ }
},
+ "release_status" : "stable",
"resources" : {
- "Ratings" : "http://cpanratings.perl.org/d/Bot-Training",
- "bugtracker" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Bot-Training",
- "homepage" : "http://search.cpan.org/dist/Bot-Training/",
- "license" : "http://dev.perl.org/licenses/",
- "repository" : "http://github.com/avar/bot-training"
+ "bugtracker" : {
+ "mailto" : "bug-Bot-Training@rt.cpan.org",
+ "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Bot-Training"
+ },
+ "homepage" : "http://metacpan.org/release/Bot-Training",
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "type" : "git",
+ "url" : "git://github.com/avar/bot-training.git",
+ "web" : "http://github.com/avar/bot-training"
+ }
},
- "version" : "0.04"
+ "version" : "0.06",
+ "x_authority" : "cpan:AVAR"
}
@@ -3,44 +3,48 @@ abstract: 'Plain text training material for bots like L<Hailo> and L<AI::MegaHAL
author:
- 'Ævar Arnfjörð Bjarmason <avar@cpan.org>'
build_requires:
- File::Find: 0
- File::Slurp: 0
- File::Temp: 0
- Test::More: 0
+ File::Slurp: '0'
+ File::Spec: '0'
+ IO::Handle: '0'
+ IPC::Open3: '0'
+ Test::More: '0'
+ lib: '0'
+ perl: '5.010'
configure_requires:
- ExtUtils::MakeMaker: 6.31
-generated_by: 'Dist::Zilla version 2.101290'
+ ExtUtils::MakeMaker: '0'
+ perl: '5.010'
+dynamic_config: 0
+generated_by: 'Dist::Zilla version 5.029, CPAN::Meta::Converter version 2.143240'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
- version: 1.4
+ version: '1.4'
name: Bot-Training
no_index:
directory:
- t
-recommends: {}
requires:
- Any::Moose: 0
- Class::MOP: 0
- Dir::Self: 0
- Encode: 0
- File::ShareDir: 0
- File::Spec::Functions: 0
- List::Util: 0
- Module::Pluggable: 0
- Moose: 0
- MooseX::Getopt::Dashes: 0
- Mouse: 0
- MouseX::Getopt::Dashes: 0
- Pod::Usage: 0
- autodie: 0
- namespace::clean: 0
- open: 0
- perl: 5.010
+ Any::Moose: '0'
+ Class::Load: '0'
+ Dir::Self: '0'
+ Encode: '0'
+ File::ShareDir: '0'
+ File::Spec::Functions: '0'
+ List::Util: '0'
+ Module::Pluggable: '0'
+ Moose: '0'
+ MooseX::Getopt::Dashes: '0'
+ Pod::Usage: '0'
+ autodie: '0'
+ namespace::clean: '0'
+ open: '0'
+ perl: '5.010'
+ strict: '0'
+ warnings: '0'
resources:
- Ratings: http://cpanratings.perl.org/d/Bot-Training
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Bot-Training
- homepage: http://search.cpan.org/dist/Bot-Training/
+ homepage: http://metacpan.org/release/Bot-Training
license: http://dev.perl.org/licenses/
- repository: http://github.com/avar/bot-training
-version: 0.04
+ repository: git://github.com/avar/bot-training.git
+version: '0.06'
+x_authority: cpan:AVAR
@@ -1,67 +1,91 @@
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.029.
use strict;
use warnings;
- BEGIN { require 5.010; }
+use 5.010;
-use ExtUtils::MakeMaker 6.31;
+use ExtUtils::MakeMaker;
my %WriteMakefileArgs = (
- 'ABSTRACT' => 'Plain text training material for bots like L<Hailo> and L<AI::MegaHAL>',
- 'AUTHOR' => 'Ævar Arnfjörð Bjarmason <avar@cpan.org>',
- 'BUILD_REQUIRES' => {
- 'File::Find' => '0',
- 'File::Slurp' => '0',
- 'File::Temp' => '0',
- 'Test::More' => '0'
+ "ABSTRACT" => "Plain text training material for bots like L<Hailo> and L<AI::MegaHAL>",
+ "AUTHOR" => "\x{c6}var Arnfj\x{f6}r\x{f0} Bjarmason <avar\@cpan.org>",
+ "CONFIGURE_REQUIRES" => {
+ "ExtUtils::MakeMaker" => 0
},
- 'CONFIGURE_REQUIRES' => {
- 'ExtUtils::MakeMaker' => '6.31'
- },
- 'DISTNAME' => 'Bot-Training',
- 'EXE_FILES' => [
- 'bin/bot-training'
+ "DISTNAME" => "Bot-Training",
+ "EXE_FILES" => [
+ "bin/bot-training"
],
- 'LICENSE' => 'perl',
- 'NAME' => 'Bot::Training',
- 'PREREQ_PM' => {
- 'Any::Moose' => '0',
- 'Class::MOP' => '0',
- 'Dir::Self' => '0',
- 'Encode' => '0',
- 'File::ShareDir' => '0',
- 'File::Spec::Functions' => '0',
- 'List::Util' => '0',
- 'Module::Pluggable' => '0',
- 'Moose' => '0',
- 'MooseX::Getopt::Dashes' => '0',
- 'Mouse' => '0',
- 'MouseX::Getopt::Dashes' => '0',
- 'Pod::Usage' => '0',
- 'autodie' => '0',
- 'namespace::clean' => '0',
- 'open' => '0'
+ "LICENSE" => "perl",
+ "MIN_PERL_VERSION" => "5.010",
+ "NAME" => "Bot::Training",
+ "PREREQ_PM" => {
+ "Any::Moose" => 0,
+ "Class::Load" => 0,
+ "Dir::Self" => 0,
+ "Encode" => 0,
+ "File::ShareDir" => 0,
+ "File::Spec::Functions" => 0,
+ "List::Util" => 0,
+ "Module::Pluggable" => 0,
+ "Moose" => 0,
+ "MooseX::Getopt::Dashes" => 0,
+ "Pod::Usage" => 0,
+ "autodie" => 0,
+ "namespace::clean" => 0,
+ "open" => 0,
+ "strict" => 0,
+ "warnings" => 0
+ },
+ "TEST_REQUIRES" => {
+ "File::Slurp" => 0,
+ "File::Spec" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "Test::More" => 0,
+ "lib" => 0
},
- 'VERSION' => '0.04',
- 'test' => {
- 'TESTS' => 't/*.t'
+ "VERSION" => "0.06",
+ "test" => {
+ "TESTS" => "t/*.t"
}
);
-unless ( eval { ExtUtils::MakeMaker->VERSION(6.56) } ) {
- my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
- my $pp = $WriteMakefileArgs{PREREQ_PM};
- for my $mod ( keys %$br ) {
- if ( exists $pp->{$mod} ) {
- $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
- }
- else {
- $pp->{$mod} = $br->{$mod};
- }
- }
+my %FallbackPrereqs = (
+ "Any::Moose" => 0,
+ "Class::Load" => 0,
+ "Dir::Self" => 0,
+ "Encode" => 0,
+ "ExtUtils::MakeMaker" => 0,
+ "File::ShareDir" => 0,
+ "File::Slurp" => 0,
+ "File::Spec" => 0,
+ "File::Spec::Functions" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "List::Util" => 0,
+ "Module::Pluggable" => 0,
+ "Moose" => 0,
+ "MooseX::Getopt::Dashes" => 0,
+ "Pod::Usage" => 0,
+ "Test::More" => 0,
+ "autodie" => 0,
+ "lib" => 0,
+ "namespace::clean" => 0,
+ "open" => 0,
+ "strict" => 0,
+ "warnings" => 0
+);
+
+
+unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
+ delete $WriteMakefileArgs{TEST_REQUIRES};
+ delete $WriteMakefileArgs{BUILD_REQUIRES};
+ $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
@@ -1,38 +1,43 @@
NAME
+
Bot::Training - Plain text training material for bots like Hailo and
AI::MegaHAL
SYNOPSIS
+
use Bot::Training;
use File::Slurp qw< slurp >;
-
+
my $bt = Bot::Training->new;
-
+
# Plugins I know about. Install Task::Bot::Training for more:
my @plugins = $bt->plugins
-
+
# Get the plugin object of a .trn file (which is just a plain text
# file). These all work just as well:
my $hal = $bt->file('megahal');
my $hal = $bt->file('MegaHAL');
my $hal = $bt->file('Bot::Training::MegaHAL');
-
+
# Get all lines in the file with File::Slurp:
my @test = split /\n/, slurp($hal->file);
DESCRIPTION
+
Markov bots like Hailo and AI::MegaHAL are fun. But to get them working
- you either need to train them on existing training material or make your
- own.
+ you either need to train them on existing training material or make
+ your own.
This module provides a pluggable way to install already existing
- training files via the CPAN. It also comes with a command-line interface
- called "bot-training".
+ training files via the CPAN. It also comes with a command-line
+ interface called bot-training.
AUTHOR
+
Ævar Arnfjörð Bjarmason <avar@cpan.org>
LICENSE AND COPYRIGHT
+
Copyright 2010 Ævar Arnfjörð Bjarmason <avar@cpan.org>
This program is free software, you can redistribute it and/or modify it
@@ -3,12 +3,13 @@ author = Ævar Arnfjörð Bjarmason <avar@cpan.org>
copyright_holder = Ævar Arnfjörð Bjarmason
license = Perl_5
+[MinimumPerl]
+
[@AVAR]
dist = Bot-Training
bugtracker = rt
-[Prereq]
-Mouse = 0
+[Prereqs]
Moose = 0
MooseX::Getopt::Dashes = 0
-MouseX::Getopt::Dashes = 0
+
@@ -1,10 +1,8 @@
package Bot::Training::Plugin;
-BEGIN {
- $Bot::Training::Plugin::VERSION = '0.04';
-}
-
+our $AUTHORITY = 'cpan:AVAR';
+$Bot::Training::Plugin::VERSION = '0.06';
use 5.010;
-use Any::Moose;
+use Moose;
use File::ShareDir qw< :ALL >;
use File::Spec::Functions qw< catdir catfile >;
use namespace::clean -except => 'meta';
@@ -1,11 +1,10 @@
package Bot::Training;
-BEGIN {
- $Bot::Training::VERSION = '0.04';
-}
-
+our $AUTHORITY = 'cpan:AVAR';
+$Bot::Training::VERSION = '0.06';
use 5.010;
use autodie qw(open close);
-use Any::Moose;
+use Class::Load;
+use Moose;
use Module::Pluggable (
search_path => [ 'Bot::Training' ],
except => [ 'Bot::Training::Plugin' ],
@@ -13,7 +12,7 @@ use Module::Pluggable (
use List::Util qw< first >;
use namespace::clean -except => [ qw< meta plugins > ];
-with any_moose('X::Getopt::Dashes');
+with 'MooseX::Getopt::Dashes';
has help => (
traits => [ qw/ Getopt / ],
@@ -71,13 +70,7 @@ sub _new_class {
}
}
- if (Any::Moose::moose_is_preferred()) {
- require Class::MOP;
- eval { Class::MOP::load_class($pkg) };
- } else {
- eval qq[require $pkg];
- }
- die $@ if $@;
+ Class::Load::load_class($pkg);
return $pkg->new;
}
@@ -125,7 +118,7 @@ sub run {
sub _getopt_spec_exception { goto &_getopt_full_usage }
# --help
-sub _getopt_full_usage {
+sub print_usage_text {
my ($self, $usage, $plain_str) = @_;
# If called from _getopt_spec_exception we get "Unknown option: foo"
@@ -136,7 +129,8 @@ sub _getopt_full_usage {
my $out = $plain_str // $usage->text;
# The default getopt order sucks, use reverse sort order
- chomp(my @out = split /^/, $out);
+ my @out = split /^/, $out;
+ chomp @out;
my $opt = join "\n", sort { $b cmp $a } @out[1 .. $#out];
($out[0], $opt);
};
@@ -1,44 +1,79 @@
-#!perl
-
+use 5.006;
use strict;
use warnings;
+# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.051
+
use Test::More;
-use File::Find;
-use File::Temp qw{ tempdir };
-
-my @modules;
-find(
- sub {
- return if $File::Find::name !~ /\.pm\z/;
- my $found = $File::Find::name;
- $found =~ s{^lib/}{};
- $found =~ s{[/\\]}{::}g;
- $found =~ s/\.pm$//;
- # nothing to skip
- push @modules, $found;
- },
- 'lib',
+
+plan tests => 3 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
+
+my @module_files = (
+ 'Bot/Training.pm',
+ 'Bot/Training/Plugin.pm'
+);
+
+my @scripts = (
+ 'bin/bot-training'
);
-my @scripts = glob "bin/*";
+# no fake home requested
-plan tests => scalar(@modules) + scalar(@scripts);
+my $inc_switch = -d 'blib' ? '-Mblib' : '-Ilib';
+use File::Spec;
+use IPC::Open3;
+use IO::Handle;
+
+open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!";
+
+my @warnings;
+for my $lib (@module_files)
{
- # fake home for cpan-testers
- # no fake requested ## local $ENV{HOME} = tempdir( CLEANUP => 1 );
-
- is( qx{ $^X -Ilib -e "use $_; print '$_ ok'" }, "$_ ok", "$_ loaded ok" )
- for sort @modules;
-
- SKIP: {
- eval "use Test::Script; 1;";
- skip "Test::Script needed to test script compilation", scalar(@scripts) if $@;
- foreach my $file ( @scripts ) {
- my $script = $file;
- $script =~ s!.*/!!;
- script_compiles_ok( $file, "$script script compiles" );
- }
+ # see L<perlfaq8/How can I capture STDERR from an external command?>
+ my $stderr = IO::Handle->new;
+
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, '-e', "require q[$lib]");
+ binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+ my @_warnings = <$stderr>;
+ waitpid($pid, 0);
+ is($?, 0, "$lib loaded ok");
+
+ if (@_warnings)
+ {
+ warn @_warnings;
+ push @warnings, @_warnings;
}
}
+
+foreach my $file (@scripts)
+{ SKIP: {
+ open my $fh, '<', $file or warn("Unable to open $file: $!"), next;
+ my $line = <$fh>;
+
+ close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/;
+ my @flags = $1 ? split(' ', $1) : ();
+
+ my $stderr = IO::Handle->new;
+
+ my $pid = open3($stdin, '>&STDERR', $stderr, $^X, $inc_switch, @flags, '-c', $file);
+ binmode $stderr, ':crlf' if $^O eq 'MSWin32';
+ my @_warnings = <$stderr>;
+ waitpid($pid, 0);
+ is($?, 0, "$file compiled ok");
+
+ # in older perls, -c output is simply the file portion of the path being tested
+ if (@_warnings = grep { !/\bsyntax OK$/ }
+ grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } @_warnings)
+ {
+ warn @_warnings;
+ push @warnings, @_warnings;
+ }
+} }
+
+
+
+is(scalar(@warnings), 0, 'no warnings found')
+ or diag 'got warnings: ', ( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) ) if $ENV{AUTHOR_TESTING};
+
+
@@ -1,7 +1,7 @@
package Bot::Training::Test;
use 5.010;
-use Any::Moose;
+use Moose;
extends 'Bot::Training::Plugin';
@@ -7,9 +7,8 @@ BEGIN {
}
}
+# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
use Test::More;
+use Test::Pod 1.41;
-eval "use Test::Pod 1.41";
-plan skip_all => "Test::Pod 1.41 required for testing POD" if $@;
-
-all_pod_files_ok();
\ No newline at end of file
+all_pod_files_ok();