diff options
Diffstat (limited to 'bin/metas/perl')
-rwxr-xr-x | bin/metas/perl | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/bin/metas/perl b/bin/metas/perl index 89e63aa..2f341e5 100755 --- a/bin/metas/perl +++ b/bin/metas/perl @@ -12,7 +12,7 @@ my $PROG = 'perl'; sub err { print STDERR @_, "\n"; - exit 2; + exit 2; } sub matchdist @@ -23,18 +23,20 @@ sub matchdist my $var = $ENV{'PKGVAR'} or err("$PROG: PKGVAR env variable is unset\n"); - my $cwd = getcwd(); - if(! -f "$var/cpandists" || -M "$var/cpandists" > 1) { + if(!-f "$var/cpandists" || -M "$var/cpandists" > 1) { print STDERR "Refreshing local CPAN distribution list..."; + my $cwd = getcwd(); + chdir($var) or die "chdir: $!"; system('cpandists'); - err("FAILED") unless $? == 0; + err("FAILED") unless($? == 0); print STDERR "OK\n"; + chdir($cwd) or die "chdir: $!"; } open(DISTS, '<', "$var/cpandists") or err("$PROG: open: $!"); while(<DISTS>) { my @f = split; - next unless(lc $f[0] eq lc $dist); + next unless(lc($f[0]) eq lc($dist)); close(DISTS); return ($f[0], $f[2]); } @@ -65,23 +67,22 @@ sub main my $pkg = shift or die "Usage: $PROG [package name]\n"; my $dist = $pkg; - $dist = "app-$dist" if $dist =~ s/^perl-// == 0; - + $dist = "app-$dist" if($dist =~ s/^perl-// == 0); + STDERR->autoflush(1); my ($realname, $cpath) = matchdist($dist); - unless($realname) { + unless($realname){ print STDERR "$PROG: failed to find perl dist similar to $dist\n"; exit 1; } fetchdist($cpath); - my $srch = 'http://search.cpan.org'; print <<"END_META"; url -$srch/dist/$realname +https://metacpan.org/release/$realname source -$srch/CPAN/authors/id/$cpath +http://search.cpan.org/CPAN/authors/id/$cpath END_META |