#! /usr/local/bin/perl -w
use strict;

use HTML::TreeBuilder;

my $tree = HTML::TreeBuilder->new();

my $filename = shift @ARGV;
$tree->parse_file($filename);
$tree->objectify_text();

my @villages = $tree->look_down('_tag' => 'area', 
    'href' => qr/karte\.php\?d=[0-9]+/,
    'onmouseover' => qr/^map/);
foreach my $village (@villages) {
  my $id = $village->attr('href');
  die unless $id =~ /karte\.php\?d=([0-9]+)/;
  $id = $1;
  my $mapstr = $village->attr('onmouseover');
  die unless defined $mapstr;
  my ($name,$username,$size,$alliance,$x,$y) = split(/','/, $mapstr);
  die unless defined $name;
  die unless $name =~ /^map\('(.*)$/; $name = $1;
  die unless $size =~ /^[0-9]+$/;
  die unless $x =~ /^-*[0-9]+$/;
  die unless $y =~ /^(-*[0-9]+)'\)$/; $y = $1;
  print join(' : ', $size, "($x|$y)", $id, $name, $username, $alliance), "\n";
}
print scalar(@villages), " towns parsed\n";
