Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion lib/ExtUtils/MM_Unix.pm
Original file line number Diff line number Diff line change
Expand Up @@ -3029,7 +3029,7 @@ sub parse_version {
next if $inpod || /^\s*#/;
chop;
next if /^\s*(if|unless|elsif)/;
if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* (;|\{) }x ) {
if ( m{^ \s* (?:package|class) \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* (;|\{) }x ) {
no warnings;
$result = $1;
}
Expand Down
18 changes: 18 additions & 0 deletions t/parse_version.t
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,24 @@ our $VERSION = 2.34;
END
}

if ( "$]" >= 5.038 ) {
$versions{'class Foo 1.23;' } = '1.23';
$versions{'class Foo::Bar 1.23;' } = '1.23';
$versions{'class Foo v1.2.3;' } = 'v1.2.3';
$versions{'class Foo::Bar v1.2.3;' } = 'v1.2.3';
$versions{' class Foo::Bar v1.2.3;' } = 'v1.2.3';
$versions{"class Foo'Bar 1.23;" } = '1.23';
$versions{'class Foo 1.230;' } = '1.230';

$versions{'class Foo 1.23 { }' } = '1.23';
$versions{'class Foo::Bar 1.23 { }' } = '1.23';
$versions{'class Foo v1.2.3 { }' } = 'v1.2.3';
$versions{'class Foo::Bar v1.2.3 { }' } = 'v1.2.3';
$versions{' class Foo::Bar v1.2.3 { }' } = 'v1.2.3';
$versions{"class Foo'Bar 1.23 { }" } = '1.23';
$versions{'class Foo 1.230 { }' } = '1.230';
}

if ( "$]" < 5.012 ) {
delete $versions{'$VERSION = -1.0'};
}
Expand Down
Loading