From a08d2aaddd0e34ad9ca2b286dd71de3a8d53e3df Mon Sep 17 00:00:00 2001 From: David Golden Date: Sun, 18 Jul 2010 16:02:49 -0400 Subject: core-cpan-diff: fix handling of file:/// urls --- Porting/core-cpan-diff | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Porting/core-cpan-diff b/Porting/core-cpan-diff index b6a150d9e1..0f303c2c70 100755 --- a/Porting/core-cpan-diff +++ b/Porting/core-cpan-diff @@ -10,6 +10,8 @@ use warnings; use 5.010; use Getopt::Long; +use File::Basename (); +use File::Copy (); use File::Temp (); use File::Path (); use File::Spec; @@ -539,6 +541,7 @@ my $lwp_simple_available; sub my_getstore { my ($url, $file) = @_; + File::Path::mkpath(File::Basename::dirname($file)); unless (defined $lwp_simple_available) { eval { require LWP::Simple }; $lwp_simple_available = $@ eq ''; @@ -546,6 +549,10 @@ sub my_getstore { if ($lwp_simple_available) { return LWP::Simple::is_success(LWP::Simple::getstore($url, $file)); } + elsif ( $url =~ qr{\Afile://(?:localhost)?/} ) { + (my $local_path = $url) =~ s{\Afile://(?:localhost)?}{}; + File::Copy::copy( $local_path, $file ); + } else { return system(WGET_CMD, "-O", $file, $url) == 0; } -- cgit v1.2.1