#!/usr/bin/perl $|++; use LWP::UserAgent; use HTTP::Request; use HTTP::Response; use URI::Heuristic; while () { next if ! (($quantity, $partnumber) = /^\s*(\d+)+\s+(\S+)\s*$/); $part{$partnumber} += $quantity; } open (OUTFILE, ">misb.html"); print OUTFILE q(); foreach $i (sort {$a <=> $b} keys part) { my $url = URI::Heuristic::uf_urlstr("http://guide.lugnet.com/set/$i"); my $ua = LWP::UserAgent->new(); $ua->agent("Mallorn/v1.0 Personal Inventory Script"); my $req = HTTP::Request->new(GET => $url); $req->referer("http://www.mallorn.com/~lindsey/lego/"); my $response = $ua->request($req); if ($response->is_error()) { printf OUTFILE (q(%d  %s
), $part{$i}, $i); } else { ($title) = ($response->title() =~ /\d+\s+(.*)/); ($price) = ($response->content() =~ /\$<\/FONT><\/SMALL>([0-9\.]+)<\/B>/); $totalprice+=($price * $part{$i}); print $totalprice, "\n"; $price = "unknown" if $price == "0"; printf OUTFILE (q(%d  %s %s (retail price: $%s)
), $part{$i}, $i, $url, $title, $price); } print OUTFILE "\n"; flush OUTFILE; } print OUTFILE q(); close OUTFILE; print "Total value: $totalprice\n";