CPAN-Visitor

 view release on metacpan or  search on metacpan

examples/scan-meta-files.pl  view on Meta::CPAN

  visit => sub {
    my ($job) = @_;
    $total++;

    my %dist = %template;
    $dist{has_meta_yml}  = -e 'META.yml'  ? 1 : 0;
    $dist{has_meta_json} = -e 'META.json' ? 1 : 0;
    $dist{has_dist_ini}  = -e 'dist.ini'  ? 1 : 0;

    $dist{distfile} = $job->{distfile};
    ($dist{author}) = split m{/}, $job->{distfile};

    my ($data) = eval { YAML::Tiny->read('META.yml')->[0] };
    if ($data) {
      $dist{meta_spec} = eval { $data->{'meta-speak'}{version} };
      $dist{meta_generator} = $data->{generated_by};

      if ($data->{generated_by} =~ /(\S+) version (\S+)/) {
        $dist{meta_gen_package} = $1;
        $dist{meta_gen_version} = $2;
      }
    } else {
      my $error = $@;
      ($error) = split m{$}m, $error;
      $dist{meta_error} = $error;
    }

    $csv->print($csv_fh, [ @dist{ @cols } ]);
    say "completed $total / $count";
  }
);

close $csv_fh or die "new.csv: $!";



( run in 0.885 second using v1.01-cache-2.11-cpan-71847e10f99 )