#!/usr/bin/perl use strict; use warnings; use Data::Hash::Totals; my %totals; my %piggy; my $rx_agent_ignore = qr/ \. google \. | \. yahoo \. | \b Seekbot | \b MS\ Search \b | \b Interarchy \b | \b teoma \b /x; while () { chomp; my (undef,$naughty) = split; ++$piggy{ $naughty }; } my %dl; while (<>) { chomp; my ($who,undef,$what,$with) = split / /, $_, 4; next if $piggy{$who}; next if $with =~ /$rx_agent_ignore/oi; $what =~ s[.+/][]; $what =~ s/\.(tar\.gz|zip)$// or next; # Only want tarballs next if $what =~ /^perl-?5/; $what =~ s/(rc|b)\d+$//; # Handle release candidates and betas $what =~ s/-[\d._]+a?$//; # The "a" is for DateManip $what = "lanman" if $what =~ /lanman/; # Same person downloads twice, don't count it. ++$totals{$what} unless $dl{"$what\t$who"}++; } # while print as_table( \%totals ); # List of piggies follows __END__ 61016 77931 53912 70499 34716 66057 33552 10180 31884 12603 31000 12736 30056 79880 29867 15895 17420 71946 16736 18470 16652 81080 15614 26708 12607 53910 11703 37108 11265 54276 10912 44140 10406 24149 9243 41125 8944 20683 8866 11474 8836 15721 8814 22751 8715 59788 8578 50934 8313 13309 8292 13675 8286 78646 8274 70561 8271 71129 8249 51956 8247 56860 8229 45259 8200 17160 8185 26947 8185 29871 8123 81511 7938 83805 7267 58137 7244 53816 6859 49585 5560 75270 5476 21874 4790 27126