user1664433
user1664433

Reputation: 63

Filling out form in Perl with the WWW::Mechanize module

I am creating a script that logs into a web form in Perl using the mechanize module, and I'm getting the error:

syntax error at /home/arty/scripts/gmail_pw_chngr.pl line 18, near "button" Execution of /home/arty/scripts/gmail_pw_chngr.pl aborted due to compilation errors.

Code

    use WWW::Mechanize;
    my $mech = WWW::Mechanize->new();

    my $url = "https://accounts.google.com/Login";

    $mech->get($url);

    $result = $mech->submit_form(
        form_name => 'gaia_loginform', # Name of the form
        #Instead of form name you can specify
        #form_number => 1
        fields       =>
        {
            Email  => '[email protected]', # Name of the input field and value
            Passwd => 'password',
        }
        button    => 'signIn' # Name of the submit button
    );
    print $result->content();

Above is the code, all the values from the input are the name, but it always errors on the same line.

Upvotes: 4

Views: 7050

Answers (3)

varnie
varnie

Reputation: 2595

Use use strict; and use warnings;. They would help you.

Upvotes: 3

Bill
Bill

Reputation: 15

use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);

use WWW::Mechanize;
    my $mech = WWW::Mechanize->new();

    my $url = "https://accounts.google.com/Login";

    $mech->get($url);


    $result = $mech->submit_form(
    form_name => 'gaia_loginform', #name of the form
    #instead of form name you can specify
    #form_number => 1
    fields      =>
    {
     Email    => '[email protected]', # name of the input field and value
     Passwd    => 'password',
    }
    ,button    => 'signIn' #name of the submit button
    );

     print $result->content();

Upvotes: 0

ikegami
ikegami

Reputation: 386706

The error in question is the missing comma before button.

Upvotes: 7

Related Questions