Yeah, what a badly written piece of HTML, groups of option buttons of which only one should be selected should have the same name.
The
WWW::Mechanize documentation is unclear, but have you tried
button1 => undef?
$mech->fields(button3=>'button3', button2 => undef, button1 => undef);
or
$mech->submit_form(
fields => {
button1 => undef,
button2 => undef,
button3 => 'button3',
}
);
should work. Also, you don't need to quote hash keys that are alphanumeric when you use the fat comma (
=>).