X-Git-Url: https://git.tld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=perl.prov;h=6a66f7652b8e8a9204115a3c9edf26021e4fde29;hp=a494480010caf026594bf8edb15fbf22dc243e03;hb=HEAD;hpb=630c68c81e8bfa147007554ef35258d125bc8657 diff --git a/perl.prov b/perl.prov index a494480..6e98f9a 100644 --- a/perl.prov +++ b/perl.prov @@ -92,20 +92,22 @@ sub process_file { # search for the package name if ( - !defined $package - && ( my ($pack) = m/^\s*(?:\{\s*)?package\s+([_:a-zA-Z0-9]+?):*\s*;/ ) + (!defined $package || !defined $version) + && ( my ($pack, $ver) = m/^\s*(?:\{\s*)?package\s+([_:a-zA-Z0-9]+?)\s*(?:v?([0-9_.]+)\s*)?[;{]/) && $1 ne 'main' && match_the_path( $file, $1 ) ) { $package = $pack; + $version = $ver; } if ( !defined $version && /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ ) { ( $version = $self->{safe}->reval($_) ) =~ s/^\s+|alpha|beta|\s+$//g; if ( defined $version && length $version - && $version =~ /[^\d\._abcdefgh]/ ) + && ($version =~ /[^\d\._abcdefgh]/ + || $version =~ /^[^\d]*$/ )) { warn "$0: weird version number in $file: [$version]\n"; $version = '';