From: Leon Brocard Date: Thu, 23 Jun 2011 14:26:12 +0000 (+0100) Subject: Extract the code the maps from an author/distribution to a X-Git-Tag: accepted/trunk/20130322.191538~3540 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dd99222174249c21cd2ee296fab66bf7ab5680b5;p=platform%2Fupstream%2Fperl.git Extract the code the maps from an author/distribution to a CPAN URL into its own subroutine: cpan_url_distribution() in Porting/core-cpan-diff --- diff --git a/Porting/core-cpan-diff b/Porting/core-cpan-diff index 592dd49..8cabf2c 100644 --- a/Porting/core-cpan-diff +++ b/Porting/core-cpan-diff @@ -187,6 +187,17 @@ sub cpan_url { return $mirror_url . $cpan_path; } +# construct a CPAN URL for a author/distribution string like: +# BINGOS/Archive-Extract-0.52.tar.gz + +sub cpan_url_distribution { + my ( $mirror_url, $distribution ) = @_; + $distribution =~ /^([A-Z])([A-Z])/ + or die "ERROR: invalid DISTRIBUTION name (not /^[A-Z]{2}/): $distribution\n"; + my $path = "modules/by-authors/id/$1/$1$2/$distribution"; + return cpan_url( $mirror_url, $path ); +} + # compare a list of modules against their CPAN equivalents sub do_compare { @@ -621,12 +632,7 @@ sub get_distribution { unless ( -f $download_file ) { # not cached - $dist =~ /^([A-Z])([A-Z])/ - or die -"ERROR: $module: invalid DISTRIBUTION name (not /^[A-Z]{2}/): $dist\n"; - - my $url = - cpan_url( $mirror_url, "modules/by-authors/id/$1/$1$2/$dist" ); + my $url = cpan_url_distribution( $mirror_url, $dist ); my_getstore( $url, $download_file ) or die "ERROR: Could not fetch '$url'\n"; }