foreach ( @ARGV ? @ARGV : <> ) {
chomp;
next if !-f || -l; # skip non-files and symlinks
- next if m#^/usr/(?:doc|src)/#; # lot of false alarms
+ next if m#/usr/(?:doc|src)/#; # lot of false alarms; warning: we ignore ^ here
next if !m#\.p[ml]$#; # we only care about *.pm and *.pl files
process_file($_) if -f;
}
# print out what we found
for ( sort keys %provide ) {
print "perl($_)" . ( length $provide{$_} ? " = $provide{$_}" : '' ) . "\n";
+# warn "perl($_)" . ( length $provide{$_} ? " = $provide{$_}" : '' ) . "\n";
}
-
############################################################
##### functions #####
############################################################
# if the file lives under @INC, we can
# obtain the package name from it's path
for (@inc) {
- if ( $file =~ m#^\Q$_\E/?(.+)$# ) {
+ if ( $file =~ m#\Q$_\E/?(.+)$# ) { # warning: we ignore ^ here
$package = $1;
if ( $package !~ s/\.pm$// ) { # it's a *.pl
&& length $version
&& $version =~ /[^\d\._abcdefgh]/ )
{
- warn "perl.prov: weird version number in $file: [$version]\n";
+ warn "$0: weird version number in $file: [$version]\n";
$version = '';
}
}
$provide{$package} = $version;
- close FILE or die "perl.prov: cannot close file `$file': $!";
+ close FILE or die "$0: cannot close file `$file': $!";
1;
}