#!/usr/bin/pe rl # find expl on http://www.perl.com/pub/a/2005/04/21/win32ole.html use Win32::OLE qw(EVENTS); my $URL = "http://samie.sf.net/simpleform.html"; my $IE = Win32::OLE->new("InternetExplorer.Application") || die "Could not start Internet Explorer.Application\n"; Win32::OLE->WithEvents($IE,\&Event,"DWebBrowserEvents2"); $IE->{visible} = 1; $IE->Navigate($URL); Win32::OLE->MessageLoop(); SetEditBox("name","samie"); sub Event { my ($Obj,$Event,@Args) = @_; print "Here is the Event: $Event\n"; if ($Event eq "DocumentComplete") { $IEObject = shift @Args; print "Here is my reference: $IEObject\n"; print "URL: " . $IEObject->Document->URL . "\n"; Win32::OLE->QuitMessageLoop(); } } sub SetEditBox { my ($name, $value) = @_; my $IEDocument = $IEObject->{Document}; my $forms = $IEDocument->forms; for (my $i = 0; $i < $forms->length; $i++) { my $form = $forms->item($i); if (defined($form->elements($name))) { $form->elements($name)->{value} = $value; } return; } }