--- rpm-5.1.4/scripts/perl.req 2008-08-20 21:27:09.929116479 +0200 +++ rpm-5.1.4/scripts/perl.req 2008-10-26 10:48:31.529709016 +0100 @@ -196,7 +196,28 @@ } } - if ( + # handle "use base qw/ foo::bar baz::blah /;" and variations + if ( + m/^ \s* use \s+ base + (?: \s+ q[wq]? \s* ( [!@#\$%^&*'"\/+=`~,.?-] ) \s* ( [\w:]+? (?: \s+[\w:]+? )*? ) \s* \1 + | + \s* ( ["'] ) ( [\w:]+? ) \3 + | + # qw[], qw(), qw<>, qw{} are handled here; lax, but who gives + \s+ q[wq]? \s* [\[({<] \s* ( [\w:]+? (?: \s+[\w:]+? )*? ) \s* [\])}>] + ) + \s* ; + /x + ) + { + my @deps = ( $1 ? split /\s+/, $2 : $3 ? $4 : split /\s+/, $5 ); + for my $mod ( grep !exists $require{$_}, @deps ) { + $require{$mod} = ''; + $line{$mod} = $_; + } + } + + elsif ( # ouch could be in a eval, perhaps we do not want these since we catch # an exception they must not be required