@@ -551,82 +551,86 @@ sub _parse_fh {
551
551
552
552
}
553
553
554
+ next ;
555
+
554
556
} elsif ( $is_cut ) {
555
557
556
558
if ( $self -> {collect_pod } && length ( $pod_data ) ) {
557
559
$pod {$pod_sect } = $pod_data ;
558
560
$pod_data = ' ' ;
559
561
}
560
562
$pod_sect = ' ' ;
563
+ next ;
561
564
562
- } else {
565
+ }
563
566
564
- # Skip after __END__
565
- next if $in_end ;
567
+ # Skip after __END__
568
+ next if $in_end ;
566
569
567
- # Skip comments in code
568
- next if $line =~ / ^\s *#/ ;
570
+ # Skip comments in code
571
+ next if $line =~ / ^\s *#/ ;
569
572
570
- # Would be nice if we could also check $in_string or something too
571
- if ($line eq ' __END__' ) {
572
- $in_end ++;
573
- next ;
574
- }
575
- last if $line eq ' __DATA__' ;
576
-
577
- # parse $line to see if it's a $VERSION declaration
578
- my ( $version_sigil , $version_fullname , $version_package ) =
579
- index ($line , ' VERSION' ) >= 1
580
- ? $self -> _parse_version_expression( $line )
581
- : ();
582
-
583
- if ( $line =~ / $PKG_REGEXP /o ) {
584
- $package = $1 ;
585
- my $version = $2 ;
586
- push ( @packages , $package ) unless grep ( $package eq $_ , @packages );
587
- $need_vers = defined $version ? 0 : 1;
588
-
589
- if ( not exists $vers {$package } and defined $version ){
590
- # Upgrade to a version object.
591
- my $dwim_version = eval { _dwim_version($version ) };
592
- croak " Version '$version ' from $self ->{filename} does not appear to be valid:\n $line \n\n The fatal error was: $@ \n "
593
- unless defined $dwim_version ; # "0" is OK!
594
- $vers {$package } = $dwim_version ;
595
- }
596
-
597
- # VERSION defined with full package spec, i.e. $Module::VERSION
598
- } elsif ( $version_fullname && $version_package ) {
599
- push ( @packages , $version_package ) unless grep ( $version_package eq $_ , @packages );
600
- $need_vers = 0 if $version_package eq $package ;
573
+ # Would be nice if we could also check $in_string or something too
574
+ if ($line eq ' __END__' ) {
575
+ $in_end ++;
576
+ next ;
577
+ }
601
578
602
- unless ( defined $vers {$version_package } && length $vers {$version_package } ) {
603
- $vers {$version_package } = $self -> _evaluate_version_line( $version_sigil , $version_fullname , $line );
579
+ last if $line eq ' __DATA__' ;
580
+
581
+ # parse $line to see if it's a $VERSION declaration
582
+ my ( $version_sigil , $version_fullname , $version_package ) =
583
+ index ($line , ' VERSION' ) >= 1
584
+ ? $self -> _parse_version_expression( $line )
585
+ : ();
586
+
587
+ if ( $line =~ / $PKG_REGEXP /o ) {
588
+ $package = $1 ;
589
+ my $version = $2 ;
590
+ push ( @packages , $package ) unless grep ( $package eq $_ , @packages );
591
+ $need_vers = defined $version ? 0 : 1;
592
+
593
+ if ( not exists $vers {$package } and defined $version ){
594
+ # Upgrade to a version object.
595
+ my $dwim_version = eval { _dwim_version($version ) };
596
+ croak " Version '$version ' from $self ->{filename} does not appear to be valid:\n $line \n\n The fatal error was: $@ \n "
597
+ unless defined $dwim_version ; # "0" is OK!
598
+ $vers {$package } = $dwim_version ;
604
599
}
605
600
606
- # first non-comment line in undeclared package main is VERSION
607
- } elsif ( $package eq ' main' && $version_fullname && !exists ($vers {main }) ) {
608
- $need_vers = 0;
609
- my $v = $self -> _evaluate_version_line( $version_sigil , $version_fullname , $line );
610
- $vers {$package } = $v ;
611
- push ( @packages , ' main' );
612
-
613
- # first non-comment line in undeclared package defines package main
614
- } elsif ( $package eq ' main' && !exists ($vers {main }) && $line =~ / \w / ) {
615
- $need_vers = 1;
616
- $vers {main } = ' ' ;
617
- push ( @packages , ' main' );
601
+ # VERSION defined with full package spec, i.e. $Module::VERSION
602
+ } elsif ( $version_fullname && $version_package ) {
603
+ push ( @packages , $version_package ) unless grep ( $version_package eq $_ , @packages );
604
+ $need_vers = 0 if $version_package eq $package ;
618
605
619
- # only keep if this is the first $VERSION seen
620
- } elsif ( $version_fullname && $need_vers ) {
621
- $need_vers = 0;
622
- my $v = $self -> _evaluate_version_line( $version_sigil , $version_fullname , $line );
606
+ unless ( defined $vers {$version_package } && length $vers {$version_package } ) {
607
+ $vers {$version_package } = $self -> _evaluate_version_line( $version_sigil , $version_fullname , $line );
608
+ }
623
609
624
- unless ( defined $vers {$package } && length $vers {$package } ) {
625
- $vers {$package } = $v ;
626
- }
610
+ # first non-comment line in undeclared package main is VERSION
611
+ } elsif ( $package eq ' main' && $version_fullname && !exists ($vers {main }) ) {
612
+ $need_vers = 0;
613
+ my $v = $self -> _evaluate_version_line( $version_sigil , $version_fullname , $line );
614
+ $vers {$package } = $v ;
615
+ push ( @packages , ' main' );
616
+
617
+ # first non-comment line in undeclared package defines package main
618
+ } elsif ( $package eq ' main' && !exists ($vers {main }) && $line =~ / \w / ) {
619
+ $need_vers = 1;
620
+ $vers {main } = ' ' ;
621
+ push ( @packages , ' main' );
622
+
623
+ # only keep if this is the first $VERSION seen
624
+ } elsif ( $version_fullname && $need_vers ) {
625
+ $need_vers = 0;
626
+ my $v = $self -> _evaluate_version_line( $version_sigil , $version_fullname , $line );
627
+
628
+ unless ( defined $vers {$package } && length $vers {$package } ) {
629
+ $vers {$package } = $v ;
627
630
}
628
631
}
629
- }
632
+
633
+ } # end loop over each line
630
634
631
635
if ( $self -> {collect_pod } && length ($pod_data ) ) {
632
636
$pod {$pod_sect } = $pod_data ;
0 commit comments