Skip to content

Commit a630b47

Browse files
committed
Support 'class' VERSIONs, like 'package'
This is supported by Perl since 5.38.
1 parent b31ca34 commit a630b47

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

lib/ExtUtils/MM_Unix.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3029,7 +3029,7 @@ sub parse_version {
30293029
next if $inpod || /^\s*#/;
30303030
chop;
30313031
next if /^\s*(if|unless|elsif)/;
3032-
if ( m{^ \s* package \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* (;|\{) }x ) {
3032+
if ( m{^ \s* (?:package|class) \s+ \w[\w\:\']* \s+ (v?[0-9._]+) \s* (;|\{) }x ) {
30333033
no warnings;
30343034
$result = $1;
30353035
}

t/parse_version.t

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,24 @@ our $VERSION = 2.34;
107107
END
108108
}
109109

110+
if ( "$]" >= 5.038 ) {
111+
$versions{'class Foo 1.23;' } = '1.23';
112+
$versions{'class Foo::Bar 1.23;' } = '1.23';
113+
$versions{'class Foo v1.2.3;' } = 'v1.2.3';
114+
$versions{'class Foo::Bar v1.2.3;' } = 'v1.2.3';
115+
$versions{' class Foo::Bar v1.2.3;' } = 'v1.2.3';
116+
$versions{"class Foo'Bar 1.23;" } = '1.23';
117+
$versions{'class Foo 1.230;' } = '1.230';
118+
119+
$versions{'class Foo 1.23 { }' } = '1.23';
120+
$versions{'class Foo::Bar 1.23 { }' } = '1.23';
121+
$versions{'class Foo v1.2.3 { }' } = 'v1.2.3';
122+
$versions{'class Foo::Bar v1.2.3 { }' } = 'v1.2.3';
123+
$versions{' class Foo::Bar v1.2.3 { }' } = 'v1.2.3';
124+
$versions{"class Foo'Bar 1.23 { }" } = '1.23';
125+
$versions{'class Foo 1.230 { }' } = '1.230';
126+
}
127+
110128
if ( "$]" < 5.012 ) {
111129
delete $versions{'$VERSION = -1.0'};
112130
}

0 commit comments

Comments
 (0)