This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Porting/checkURL.pl now requires rather than uses all non-core modules.
authorNicholas Clark <nick@ccl4.org>
Wed, 21 Dec 2011 18:14:13 +0000 (19:14 +0100)
committerNicholas Clark <nick@ccl4.org>
Thu, 22 Dec 2011 07:43:31 +0000 (08:43 +0100)
This way ./perl -Ilib -c Porting/checkURL.pl can be used to syntax check it.

Only File::Slurp and URI::Find::Simple were actually relying on C<use> to
import subroutines - replace the two uses with fully qualified names.
All other packages are needed for object constructors, not imports, so there
is no change in loading them with C<require>.

Porting/checkURL.pl

index 0e0003b..9fb48df 100755 (executable)
@@ -3,16 +3,16 @@ use strict;
 use warnings;
 use autodie;
 use feature qw(say);
-use File::Find::Rule;
-use File::Slurp;
-use File::Spec;
-use IO::Socket::SSL;
+require File::Find::Rule;
+require File::Slurp;
+require File::Spec;
+require IO::Socket::SSL;
 use List::Util qw(sum);
-use LWP::UserAgent;
-use Net::FTP;
-use Parallel::Fork::BossWorkerAsync;
-use Term::ProgressBar::Simple;
-use URI::Find::Simple qw( list_uris );
+require LWP::UserAgent;
+require Net::FTP;
+require Parallel::Fork::BossWorkerAsync;
+require Term::ProgressBar::Simple;
+require URI::Find::Simple;
 $| = 1;
 
 my %ignore;
@@ -46,8 +46,8 @@ foreach my $filename (@filenames) {
     next if $filename =~ /\.patch$/;
     next if $filename =~ 'cpan/Pod-Simple/t/perlfaqo?\.pod';
     next if $filename =~ /checkURL\.pl$/;
-    my $contents = read_file($filename);
-    my @uris     = list_uris($contents);
+    my $contents = File::Slurp::read_file($filename);
+    my @uris     = URI::Find::Simple::list_uris($contents);
     foreach my $uri (@uris) {
         next unless $uri =~ /^(http|ftp)/;
         next if $ignore{$uri};