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 )