#!perl use strict; use warnings; use Test::More tests => 6; open my $fh, '<', 'lib/B/Utils.pm' or die "Can't open lib/B/Utils.pm: $!"; undef $/; my $doc = <$fh>; close $fh; ok( my ( $pod_version ) = $doc =~ /^=head1\s+VERSION\s+([\d._]+)/m, "Extract version from pod in lib/B/Utils.pm" ); ok( my ( $b_utils_pm_version ) = $doc =~ /^\$VERSION\s+=\s+'([\d._]+)';/m, "Extract version from code in lib/B/Utils.pm" ); is( $pod_version, $b_utils_pm_version, 'Documentation & $VERSION are the same' ); open $fh, '<', 'lib/B/Utils/OP.pm' or die "Can't open lib/B/Utils/OP.pm: $!"; $doc = <$fh>; close $fh; ok( my( $b_utils_op_pm_version ) = $doc =~ /^our\s+\$VERSION\s+=\s+'([\d._]+)';/ "Extract version from code in lib/B/Utils/OP.pm" ); open $fh, '<', 'README' or die "Can't open README: $!"; $doc = <$fh>; close $fh; ok( my ( $readme_version ) = $doc =~ /^VERSION\s+([\d._]+)/m, "Extract version from README" ); is( $readme_version, $pm_version, 'README & $VERSION are the same' );