#!/usr/bin/perl
use strict;
use warnings;
use WWW::Google::PageRank;
my($in, $out) = @ARGV;
my $url;
usage() unless $in and $out;
open(IN, '<', $in) or die "open(): error: Can't open ", $in, " for reading.\n";
open(OUT, '>', $out) or die "open(): error: Can't create ", $out, ".\n";
my $google = WWW::Google::PageRank -> new;
while(defined(my $domain = <IN>))
{
chomp $domain;
if($domain !~ /^http:\/\/(.*)$/)
{
$url = "http://" . $domain;
}
else
{
$url = $domain;
}
my $rank = $google -> get($url);
if($url)
{
print $url, " has page rank ", $rank, "\n";
print OUT $url, ":", $rank, "\n";
}
}
close OUT;
close IN;
exit;
sub usage
{
die <<EOH
Usage: $0 <infile> <outfile>
Infile should contain a list of domains, one per line.
Outfile is where the results will be wrtten to (in addition to STDOUT).
EOH
}