| line | stmt | bran | cond | sub | pod | time | code | 
| 1 |  |  |  |  |  |  | package WWW::BugMeNot; | 
| 2 |  |  |  |  |  |  | require Exporter; | 
| 3 |  |  |  |  |  |  |  | 
| 4 |  |  |  |  |  |  | our @ISA    = qw(Exporter); | 
| 5 |  |  |  |  |  |  | our @EXPORT = qw(password); | 
| 6 |  |  |  |  |  |  | our $VERSION = '0.02'; | 
| 7 |  |  |  |  |  |  |  | 
| 8 | 1 |  |  | 1 |  | 23385 | use strict; | 
|  | 1 |  |  |  |  | 2 |  | 
|  | 1 |  |  |  |  | 32 |  | 
| 9 | 1 |  |  | 1 |  | 5 | use warnings; | 
|  | 1 |  |  |  |  | 1 |  | 
|  | 1 |  |  |  |  | 28 |  | 
| 10 | 1 |  |  | 1 |  | 824 | use LWP::Simple; | 
|  | 1 |  |  |  |  | 94468 |  | 
|  | 1 |  |  |  |  | 11 |  | 
| 11 | 1 |  |  | 1 |  | 2369 | use HTML::TokeParser; | 
|  | 1 |  |  |  |  | 12867 |  | 
|  | 1 |  |  |  |  | 261 |  | 
| 12 |  |  |  |  |  |  |  | 
| 13 |  |  |  |  |  |  |  | 
| 14 |  |  |  |  |  |  | sub password { | 
| 15 | 0 |  |  | 0 | 0 |  | my $url = $_[0]; | 
| 16 | 0 |  |  |  |  |  | my $retrieved_bugmenot_page = &retrieve_bugmenot_url($url); | 
| 17 | 0 |  |  |  |  |  | my @userpass = &parse_bugmenot_url($retrieved_bugmenot_page); | 
| 18 | 0 |  |  |  |  |  | return @userpass; | 
| 19 |  |  |  |  |  |  | } | 
| 20 |  |  |  |  |  |  |  | 
| 21 |  |  |  |  |  |  |  | 
| 22 |  |  |  |  |  |  | sub retrieve_bugmenot_url { | 
| 23 | 0 |  |  | 0 | 0 |  | my $url = $_[0]; | 
| 24 | 0 | 0 |  |  |  |  | my $retrieved_page = get ("http://bugmenot.com/view.php?url=$url") or die("Could not retrieve http://bugmenot.com/view.php?url=$url"); | 
| 25 | 0 |  |  |  |  |  | return $retrieved_page; | 
| 26 |  |  |  |  |  |  | } | 
| 27 |  |  |  |  |  |  |  | 
| 28 |  |  |  |  |  |  |  | 
| 29 |  |  |  |  |  |  | sub parse_bugmenot_url { | 
| 30 | 0 |  |  | 0 | 0 |  | my $page = $_[0]; | 
| 31 | 0 | 0 |  |  |  |  | my $stream = HTML::TokeParser->new(\$page) or die("Parsing Error: $!"); | 
| 32 | 0 |  |  |  |  |  | $stream -> get_tag("dd"); | 
| 33 | 0 |  |  |  |  |  | my @userpass; | 
| 34 | 0 |  |  |  |  |  | $userpass[0] = $stream -> get_text("br"); | 
| 35 | 0 |  |  |  |  |  | $userpass[1] = $stream -> get_text("/dd"); | 
| 36 | 0 |  |  |  |  |  | return @userpass; | 
| 37 |  |  |  |  |  |  | } | 
| 38 |  |  |  |  |  |  |  | 
| 39 |  |  |  |  |  |  |  | 
| 40 |  |  |  |  |  |  |  | 
| 41 |  |  |  |  |  |  | 1; | 
| 42 |  |  |  |  |  |  | __END__ |