1
0
Fork 0
mirror of https://github.com/perlbot/perlbuut synced 2025-06-07 00:45:43 -04:00

Add in data for package lists

This commit is contained in:
Ryan Voots 2015-04-21 17:21:50 -04:00
parent a8b0ec95cc
commit 68ea4e5430
2 changed files with 18409 additions and 0 deletions

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,36 @@
#!/usr/bin/env perl
use strict;
use warnings;
use autodie;
use v5.20.0;
use Data::Dumper;
use LWP::Simple;
use HTML::TreeBuilder::XPath;
open(my $fh, "-|", "apt-cache", "dumpavail");
my @packs;
my $p;
while(<$fh>) {
if (/^\s*$/) {
push @packs, $p; $p=""
} else {
$p.=$_;
}
};
@packs = map {/Package:\s*(?<package>\S+).*?Homepage:\s*(?<url>\S+)/si; ["debian", $+{package}, $+{url}];} grep {$_ =~ /search.cpan.org/} @packs;
my @modules;
#print Dumper(\@packs);
for my $pack (@packs) {
# my @m = map {s|^lib/||; s|/|::|g; s|\.pm$||; $_} map {/>\s*([^<>]+)\s*</; $1} grep {/\.pm/} split(/\n/, get($pack->[2].'/MANIFEST'));
my $xp = HTML::TreeBuilder::XPath->new_from_content( get($pack->[2]) );
my @m = grep {/[A-Z]/} map {s|^lib/||; s|/|::|g; s|\.pm$||; $_} map {s/^\s*|\s*$//gr} $xp->findvalues( "//table[preceding::h2[text()='Modules']]/tr/td[1]" );
say '"'.$pack->[0].'","'.$pack->[1].'","'.$_.'"' for @m;
}