no worries. hehe, funny, I was just replying to someone with the same thing about invoking the button. I'm not sure how this will work with perl script, being the same or not but...lets give a try.
HtmlElementCollection theElements = this.webBrowser1.Document.GetElementsByTagName("input"); 'get an input element
foreach (HtmlElement curElement in theElements)
if (curElement.GetAttribute("Value").Equals("submit")) 'get the value of the current element. is it a submit type if so...
curElement.InvokeMember("click"); 'invoke the click event!
in regards to retrieving the next page, well, in the documentcompleted event, as you have, this will be fired when the document has finished loading. So to be safe, I would suggest:
checking the expected URL you are wanting to do your editing/parsing/operations on the page so you don't "break" the code in that, you are expecting one page but navigated to the next page where those elements you are trying to find, do not exist.
Once checking the current page url, then execute the operations you want to execute on that method
now, in regards to retrieving the data on the page, you need to either go through the elements as you currently are doing, or look for the innertext/outertext for the elements and see what the responses are/values are.
innertext contains the text in that control, as well as the ability to set it