#!/usr/pkg/bin/perl # simple pkgsrc / wip search script using pkgsrc.netbsd.se # written by iMil use LWP::UserAgent; use HTTP::Request::Common; my $version = "0.2"; sub usage { die "usage: $0 \n"; } if ($#ARGV < 0) { usage(); } my $pkgname=$ARGV[0]; my $baseurl='http://pkgsrc.netbsd.se/'; sub pkgparse { my @sublist=split(/\n/, $_[0]); foreach(@sublist) { $_=~s/<[^>]*?>//gs; # this one is for the remaining href $_=~s/<.+?=\"//gs; if (/.*(Path:)(.+)(Version:)(.+)(Last db update:)(.+)(Webpage:)(.+).*/i) { printf( "\n\%-18s\%s\n\%-18s\%s\n\%-18s\%s\n\%-18s\%s\n\n", $1,$2,$3,$4,$5,$6,$7,$8); } } } my $ua = LWP::UserAgent->new(agent => 'pkgse $version'); my %tags = (); $tags{'so'} = $pkgname; my $resp = $ua->request( POST "$baseurl/?cat=search" , Content_Type => 'form-data', Content => [ %tags ] ); print $resp->error_as_HTML unless $resp->is_success; my $result=$resp->content(); my @list=split(/get("$baseurl/?$srchpost"); print $resp->error_as_HTML unless $resp->is_success; pkgparse($resp->content); } }