http://www.perlmonks.org?node_id=689535


in reply to Re: Can't call method "click" on an undefined value
in thread Can't call method "click" on an undefined value

appending the cgi to url did it for time being...i am now able to reboot my adsl modem...

but still i would have wanted to achieve it by clicking the button...anyways will keep trying...am sure object instantiation is creating problem somewhere...but unable to trace it

thanks for ur help monks...truly appreciated

  • Comment on Re^2: Can't call method "click" on an undefined value

Replies are listed 'Best First'.
Re^3: Can't call method "click" on an undefined value
by Anonymous Monk on Jun 01, 2008 at 11:42 UTC
    That is impossible.
    1. The html is broken (no form tags), which is why there is no default form, to be set as default, or for you to select (via $mech->form_name or $mech->form_number), and why $mech->click doesn't work. This is a bug in WWW::Mechanize, it should throw a useful error messages, example
    use WWW::Mechanize; $ua=WWW::Mechanize->new; $ua->get('http://search.cpan.org');#got a form warn $ua->forms; warn $ua->submit; $ua->get('http://cpan.org');#no forms here warn $ua->forms; warn $ua->submit; #dies here __END__ HTML::Form=HASH(0x1d76ca0) at - line 6. HTTP::Response=HASH(0x1d77114) at - line 7. Warning: something's wrong at - line 9. Can't call method "make_request" on an undefined value at D:/Perl/site +/lib/WWW/Mechanize.pm line 1641.
    2. Clicking the button calls javascript, which is not supported (see WWW::Mechanize::FAQ). Besides, the javascript only redirects to rebootinfo.cgi (and it does that with eval -- whoever wrote this should be shot).