Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:crewjones:lsb_app_checker
lsb-appchk-perl
perldeps-bug-2006.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File perldeps-bug-2006.patch of Package lsb-appchk-perl
--- ./perldeps.pl.bug-2006 2008-03-18 17:35:01.000000000 -0400 +++ ./perldeps.pl 2008-04-14 19:12:13.000000000 -0400 @@ -200,6 +200,9 @@ sub process_file { my $self = shift; my $filename = shift; + my $heredoc = 0; + my $eof = ''; + my $test = ''; if (not open FH, "<$filename") { # XXX: Should be die IMHO...JOO @@ -208,10 +211,32 @@ } while (<FH>) { + $test = $_; + chomp($test); + next if m(^=(head[1-4]|pod|item)) .. m(^=cut); next if m(^=over) .. m(^=back); last if m/^__(DATA|END)__$/; + # are we looking at a here doc? + if (m/^(.*=)(\s*<<)(.*;)/) { + $heredoc = 1; + # strip anything past ";" + my $loc = index($_, ";"); + my $substr = substr($_,0,$loc); + # find the EOF marker + my @args = split /<</, $substr; + my $index = @args; + $eof = $args[$index-1]; + $eof =~ s/"|'//g; + next + } + # find the end of the here doc to resume checking + if (($eof eq $test) && ($test ne '')) { + $heredoc = 0; + $eof = ''; + } + if (m/^\s*package\s+([\w\:]+)\s*;/) { $self->add_provide(-filename => $filename, -provide => $1, -type => "package", -line => $.); } @@ -238,7 +263,7 @@ elsif (m/^\s*(use|require)\s+(v?[0-9\._]+)/) { $self->add_require(-filename => $filename, -require => $2, -type => "perl version", -line => $.); } - elsif (m/^\s*use\s+([\w\:]+)/) { + elsif ((m/^\s*use\s+([\w\:]+)/) && ($heredoc != 1)) { $self->add_require(-filename => $filename, -require => $1, -type => "use", -line => $.); } elsif (m/^require\s+([\w\:]+).*;/) {
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor