-use Test::More tests => 20;
-use Data::Dumper;
-
-use vars qw($section_1 $section_2 $section_3 $section_4 %options);
-
-use_ok(
- "Pod::Constants",
- section_1 => \$section_1,
- -trim => 1,
- section_2 => \$section_2,
- section_3 => sub { tr/[a-z]/[A-Z]/; $section_3 = $_ },
- section_4 => sub { eval },
- 'command line parameters' => sub {
- &Pod::Constants::add_hook
- (
- #-trim => 0,
- '*item' => sub {
- my ($options, $description) =
- m/^(.*?)\n\n(.*)/s;
- my (@options, $longest);
- $longest = "";
- for my $option
- ($options =~ m/\G((?:-\w|--\w+))(?:,\s*)?/g) {
- push @options, $option;
- if ( length $option > length $longest) {
- $longest = $option;
- }
- }
- $longest =~ s/^-*//;
- $options{$longest} =
- {
- options => \@options,
- description => $description,
- };
- }
- )
- },
- );
-
-# try as hard as we can to get the path to perl
-ok($Pod::Constants::VERSION,
- "Pod::Constants sets its own VERSION");
-
-BEGIN {
- push @INC, "t";
-};
+use warnings;
+use lib 't';
+
+use File::Temp qw/tempfile/;
+use Test::More tests => 19;
+
+our ($section_1, $section_2, $section_3, $section_4, %options);
+
+sub handle_item {
+ my ($options, $description) = m/^(.*?)\n\n(.*)/s;
+ my (@options, $longest);
+ $longest = "";
+ for my $option ($options =~ m/\G((?:-\w|--\w+))(?:,\s*)?/g) {
+ push @options, $option;
+ $longest = $option if length $option > length $longest
+ }
+ $longest =~ s/^-*//;
+ $options{$longest} = {
+ options => \@options,
+ description => $description,
+ };
+}
+
+sub run_parser {
+ Pod::Constants->import(
+ section_1 => \$section_1,
+ -trim => 1,
+ section_2 => \$section_2,
+ section_3 => sub { tr/[a-z]/[A-Z]/; $section_3 = $_ },
+ section_4 => sub { eval },
+ 'command line parameters' => sub {
+ Pod::Constants::add_hook('*item' => \&handle_item)
+ });
+}
+
+use_ok('Pod::Constants');
+run_parser;
+
+ok $Pod::Constants::VERSION, "Pod::Constants sets its own VERSION";
+