A small improvement, incorporating the fine WWW::Mechanize module, and working directly on the form, instead of mucking with the URL:
#!/usr/bin/perl use warnings; use strict; use IO::All; use WWW::Mechanize; { my @addrs = @ARGV; if ( scalar @addrs < 2 ) { print "You have " . scalar @addrs . " addresses. " . "Need 2 or more. Enter 'done<return>' to finish\n"; while ( <> ) { last if $_ eq "done\n"; push @addrs, $_; } die help () if scalar @addrs < 2; chomp @addrs; } @addrs = process_addresses ( @addrs ); foreach ( 0 .. scalar @addrs - 2 ) { my $trip_leg_page = get_trip_leg_page ( [ $addrs[$_], $addrs[$ +_+1] ] ); io ( "trip_leg_" . ($_+1) . ".html" )->print ( $trip_leg_page +); } } sub process_addresses { my @addrs = @_; foreach ( @addrs ) { # Count commas, split the line into an anonymous # array w/ $count elems my $count = $_ =~ tr/,/,/; $_ = [ split ( /\s*,\s*/, $_, $count ) ]; # add a null if it's just city/state: unshift @$_, "" if 1 == $count; } return @addrs; } sub get_trip_leg_page { my ( $addr_pair ) = @_; my $mech = WWW::Mechanize->new (); $mech->get ( 'http://maps.yahoo.com/dd' ); my $resp = $mech->submit_form ( form_name => 'dd', fields => { addr => $addr_pair->[0][0], csz => $addr_pair->[0][1], taddr => $addr_pair->[1][0], tcsz => $addr_pair->[1][1], }, ); die "Form submission failure: $!" if not $mech->success (); return $resp->{_content} } sub help { print << " EOF"; usage: multimap "31 Kinnaird St, Cambridge, MA" \ "27 Hall St, Somerville, MA" \ "60 Garden St, Cambridge, MA" EOF }

In reply to Re: Multi-stop Trip Yahoo Maps Tool by kesterkester
in thread Multi-stop Trip Yahoo Maps Tool by kesterkester

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.