parsing vs access methods does get blurry...anyway, in the end we're interested in getting to point B and not that interested in the trip itself...whether parsing or using an access method.
to this point...i think (possibly) best for this problem would be find_link() method of WWWW::Mechanize. not as tedious as Xpath or HTML::Tree etc.
the hardest line to type correctly is: stty erase ^H