diff --git a/Changelog b/Changelog
index c6f6de016633dbda58ef4283493f9f5aa0f3ab36..8ea6c13b5423fbd6defb62f2bfd0067a781b1f6f 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,7 @@
+git HEAD
+
+ * Rewrite efa parser using HTML::TreeBuilder::XPath
+
efa 1.1.2 - Wed May 12 2010
* Fix -v
diff --git a/bin/efa b/bin/efa
index 92893a5e03a02050e88a287b9430f81524f995b0..c9cdb36b796f7744ecd0ee22d0eb559e48d70ad6 100755
--- a/bin/efa
+++ b/bin/efa
@@ -6,8 +6,10 @@ use strict;
use warnings;
use encoding 'utf8';
use 5.010;
+
use Encode;
use Getopt::Long qw/:config no_ignore_case/;
+use HTML::TreeBuilder::XPath;
use WWW::Mechanize;
my $firsturl = 'http://efa.vrr.de/vrr/XSLT_TRIP_REQUEST2?language=de&itdLPxx_transpCompany=vrr';
@@ -19,7 +21,6 @@ my %post;
my $www = WWW::Mechanize->new(
autocheck => 1,
);
-my $raw;
my (@from, @to, @via);
my ($from_type, $to_type, $via_type) = ('stop') x 3;
my ($time, $time_depart, $time_arrive);
@@ -31,183 +32,16 @@ my $prefer;
my $proximity;
my $walk_speed;
my $with_bike;
-my $debug = 0;
my $timeout = 60;
my $ignore_info = 'Fahrradmitnahme';
my ($test_dump, $test_parse);
-sub check_ambiguous {
- my $html = shift;
- my $choose_re = qr{
-
- Bitte \s auswählen
-
- }x;
- my $select_re = qr{
-