#!D:/perl/bin -w use LWP::UserAgent; use HTTP::Request; use HTML::TableExtract; $OutFile = "results.txt"; open(OUT,">>$OutFile") || die "Can't create $OutFile: $!"; open(IN,"ipList1.txt") || die "Can't open ipList1.txt: $!"; OUTER: while() { $url = $_; print $url . "\n"; $ua = new LWP::UserAgent; $request = new HTTP::Request('GET',$url); $request->authorization_basic('login', 'password'); $ua->timeout(10); $response = $ua->request($request); $responsecode = $response->code(); print $responsecode . "\n"; INNER: if ($responsecode != 200) { sleep 1; redo OUTER; } else { # login successful, let's get the html code into a variable @ARRAY_OF_LINES = (split "\n", $ua->request($request)->as_string); foreach $line (@ARRAY_OF_LINES) { $html_code .= $line . "\n"; } } $te = new HTML::TableExtract( depth => 0, count => 1 ); $te->parse($html_code); foreach $ts ($te->table_states) { #print "Table (", join(',', $ts->coords), "):\n"; foreach $row ($ts->rows) { $td = join(" ", @$row); $td =~ s/\n/ /g; if ( $td =~ /^\s*(\d)\s+(\w+)\s+(\d)\s+(\w+)/) { $outlet1 = $1; $host1 = $2; $outlet2 = $3; $host2 = $4; print OUT "Outlet: $outlet1, Host: $host1\n"; print OUT "Outlet: $outlet2, Host: $host2\n\n"; sleep 1; } } } }