The following code connects to a linksys router and resets the connection. I can't seem to find the proper way to access the contents of the HTML::Form::InputText object without accessing it's internal data structure.
This is part of the expression in question:
my $status = $1 if $input->{value_name}Anybody know a proper way to get this value?
Thanks, Randy.
--
#!/usr/bin/perl
use strict; use warnings;
use WWW::Mechanize;
use constant URL => 'http://192.168.0.1/Status.htm';
{# username and password
package MyMech;
our @ISA = qw(WWW::Mechanize); sub get_basic_credentials {
my($self, $realm, $uri) = @_;
return ('username', 'password');
}
}# Fetch status page my $mech = MyMech->new(); my $resp = $mech->get( URL ); die "Can't connect" unless $resp->is_success();
# Determine current connection status
my $form = $mech->form_number( 1 ) or die "Can't select form";
my $input = $form->find_input( 'pppoeAct' ) or die "Can't find input";
my $status = $1 if $input->{value_name} =~ /Status: (Connected|Connecting|Disconnected)/;
print "$status\n";
# If connected, reset connection
if ($status eq 'Connected') {
my $resp = $mech->click();
if ($resp->is_success) {
sleep( 5 );
$resp = $mech->get( URL );
die "Can't re-get page" unless $resp->is_success;
$resp = $mech->click();
die "Failed to reconnect" unless $resp->is_success;
} else { die "Failed to disconnect"; }
} else { die "Unexpectedly" }print "done.\n";
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>
