####
use strict;
use warnings;
use WWW::Mechanize;
# set some dummy vars
my $target_field = 'passenger';
my $target_value = 'somevalue';
# get the URL and check
my $url = shift or die "Need URL, pal!\n";
my $mech = WWW::Mechanize->new;
$mech->get($url);
$mech->success or die $mech->response->status_line, "\n";
# select the form
$mech->form_number(1);
# check original value
my $set_value = $mech->value($target_field);
$set_value = 'undef' unless defined $set_value;
print "[1] value for $target_field: ($set_value)\n";
# tick the checkbox
$mech->tick($target_field, $target_value);
$set_value = $mech->value($target_field);
$set_value = 'undef' unless defined $set_value;
print "[2] value for $target_field: ($set_value)\n";
####
$ perl tick.pl http://localhost/form.html
[1] value for passenger: (undef)
[2] value for passenger: (somevalue)