in reply to Question about inheritance of WWW::Mechanize

See the docs regarding the autocheck option.
  • Comment on Re: Question about inheritance of WWW::Mechanize

Replies are listed 'Best First'.
Re^2: Question about inheritance of WWW::Mechanize
by ryo0ka (Novice) on May 22, 2013 at 19:25 UTC

    Thanks for replying guys,

    >See the docs regarding the autocheck option.

    I just checked the doc and modified my code to turn it on, but it still does not work:

    package MyMech; use base qw(WWW::Mechanize); sub new { my $class = shift or die $!; my $self = $class->SUPER::new( autocheck => 1, ); return bless $self, $class; } sub get { my $self = shift or die $!; $self->SUPER::get(@_); }

    >Does the superclass die on error?

    Yeah, it dies when the server is not responding:

    Error GETing (URL): Can't connect to (URL) (Bad hostname) at ***.pl line **

    >Have you tried the $self->success() method?

    Oh God it works... I changed the tester code from:

    my $mech = MyMech->new; $mech->get("http://google.com/"); print $mech->title."\n";

    to:

    my $mech = MyMech->new; $mech->get("http://google.com/"); print $mech->title."\n" if $mech->success;

    Now it displays the error code. Thank you so much...

    But I don't get why it came to work by putting the if statement. In addition now it works only with 'autocheck' even though it didn't work before i put the if statement.

    Anyway... Thank you guys so much, now I can move on :)