The final key here was that the second argument to the post method needed to be an array ref (i.e., the hash arguments needed to be enclosed in []s). The code below works, returning the desired output page in the $mech object.
#!/usr/bin/perl use warnings; use strict; use WWW::Mechanize; my $hypermutUrl = "http://http://hiv-dev.lanl.gov/cgi-bin/HYPERMUT/hypermut.cgi"; my $mech = WWW::Mechanize->new( autocheck => 1 ); my $alignment_as_string = <<'END_SEQS'; >HIV1-test.CONS ATGGGATGTCTTGGGAATCAGCTGCTTATCGCGCTCTTGCTAGTAAGTGCTTTAGAGATTTATTGTGTTC >HIV1-test.1 ATGGAATGTCTTGGAAATCAGCTGCTTATCGCGCTCTTGCTAGTAAGTGCTTTAAAGATTTATTGTGTTC >HIV1-test.2 ATGGAATGTCTTGGGAATCAGCTGCTTATCGCGCTCTTGCTAGTAAGTGCTTTAAAGATTTATTGTGTTC END_SEQS $mech->post( $hypermutUrl, [ 'FORMAT' => 'FASTA', 'ALIGNMENT' => $alignment_as_string, 'upfile1' => '', 'INN' => '', 'OUT' => '', 'MUTUPSTREAM' => '', 'MUTFROM' => 'G', 'MUTTO' => 'A', 'MUTDOWNSTREAM' => 'RD', 'ENFORCE' => 'DESCENDANT', 'CONTROLUPSTREAM' => '', 'CONTROLFROM' => 'G', 'CONTROLTO' => 'A', 'CONTROLDOWNSTREAM' => 'YN|RC', 'Analysis' => 'All', 'submit' => 'Run', ] ); my $page = $mech->content; open my $FH, ">/tmp/hypermut.html"; print {$FH} $page; close $FH; warn "saved webpage data to /tmp/hypermut.html\n";
Thanks to any and all who thought about it, and most particularly to my colleague who found my error.
In reply to Re^6: www::mechanize: second "submit" invisible to find_all_submits
by wfischer
in thread www::mechanize: second "submit" invisible to find_all_submits
by wfischer
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |