]> TLD Linux GIT Repositories - packages/rpm.git/blobdiff - perl.prov
- release down to 2
[packages/rpm.git] / perl.prov
index a494480010caf026594bf8edb15fbf22dc243e03..6e98f9a4ae03d8f6d931ad221c3a90974a4cfb87 100644 (file)
--- 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 = '';