App-CreateAcmeCPANModulesImportCPANRatingsModules

 view release on metacpan or  search on metacpan

lib/App/CreateAcmeCPANModulesImportCPANRatingsModules.pm  view on Meta::CPAN

            $content = File::Slurper::read_text($cache_path);
        }

        my @review_htmls;
        while ($content =~ m!<div class="review"(.+?)<div class="review_footer">!sg) {
            push @review_htmls, $1;
        }

        my @dists;
        for my $review_html (@review_htmls) {
            $review_html =~ m!<h3 class="review_header">.+?<a href="/dist/([^"]+)">(?:.+?/images/stars-(\d\.\d)\.png")?.+?<blockquote class="review_text">(.+?)</blockquote>!s or die;
            push @dists, {dist=>$1, rating=>$2, text=>$3};
        }

        my @mods;
        for my $dist (@dists) {
            (my $mod = $dist->{dist}) =~ s/-/::/g;
            push @mods, {
                module => $mod,
                rating => defined($dist->{rating}) ? $dist->{rating} * 2 : undef, # converted from 1-5 scale to 1-10 scale
                description => $dist->{text},



( run in 1.183 second using v1.01-cache-2.11-cpan-df04353d9ac )