my $string = shift; getIMDB($string); sub getIMDB($){ use LWP; use LWP::Simple; sub LWP::UserAgent::redirect_ok { 1 }; # LWP::Debug::level('+') ; $ua = new LWP::UserAgent; $ua->agent("Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); $req = new HTTP::Request POST => 'http://www.imdb.com/Find'; $req->content_type('application/x-www-form-urlencoded'); $req->content('for='. $string . '&select=All'); my $res = $ua->request($req); if ($res->is_success) { my $c = $res->content; my ($nr,$title,$rating); #

  1. Pi (1998) if($c =~ /<\/P>
    1. .+?<\/A>/i){ $nr = $1; print "Found '$string': $nr, retrieving page.\n"; $c = get("http://www.imdb.com/Title?$nr"); } # Virgin Suicides, The (1999) # if($c =~ //i){ $nr = $1; ($title,$rating) = getstuff($c); }elsif($c =~ /We\'re Sorry/){ $nr = '0'; $title = 'Unknown movie'; $rating = 0; }else{ print "Unhandled:\n$c\n"; exit; } print "$title ($nr) -> $rating\n"; } else { print "Bad luck this time\n"; } } sub getstuff { my($contents) = shift; my($title,$rating); $_ = $contents; if(/(.+?)<\/TITLE>/i){ $title = $1; } if(/<B>([\d\.]+)<\/B>\/\d+/i){ $rating = $1; }else{ $rating = "(no rating available)"; } return($title,$rating); }