Guest User

Untitled

a guest
Feb 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use WWW::CPANRatings::RSS;
  5.  
  6. main();
  7.  
  8. sub main {
  9. my $five_star_modules = fetch_five_star_modules();
  10. report_all_modules($five_star_modules);
  11. }
  12.  
  13. sub fetch_five_star_modules {
  14. my $rate = WWW::CPANRatings::RSS->new;
  15. $rate->fetch or die $rate->error;
  16. my @five_star_modules = grep { $_->{rating} eq "5" } @{ $rate->ratings };
  17. \@five_star_modules;
  18. }
  19.  
  20. sub report_all_modules {
  21. my $modules = shift;
  22. foreach my $module ( @{$modules} ) {
  23. report_module($module);
  24. }
  25. }
  26.  
  27. sub report_module {
  28. my $module = shift;
  29. printf "%s - %s stars - by %s\n", @$module{qw/dist rating creator/};
  30. }
  31.  
  32. __END__
Add Comment
Please, Sign In to add comment