=head1 Developing applications with Win32::GUI::XMLBuilder Wouldn't it be nice if there was a simple way to build an interface with forms that allowed a user to do a variety of simple tasks from say a module you've already created; a way one might be able to write solid Win32 GUIs whilst also keeping the visual design separate from the inner workings of your script? Yes, it would be and that is why I wrote Win32::GUI::XMLBuilder. In this article I will try to describe how one might build a simple Win32::GUI::XMLBuilder application and also provide a simple template for doing this. =head2 What is it? Win32::GUI::XMLBuilder (WGX) parses well-formed valid XML containing elements and attributes that help to describe and construct a Win32::GUI object. If you're unfamiliar with what XML is I suggest you read a great introductory tutorial at http://www.w3schools.com/xml/default.asp. One might use WGX like so: - use Win32::GUI::XMLBuilder; my $gui = Win32::GUI::XMLBuilder->new(*DATA); Win32::GUI::Dialog; __END__ You can see that separator lines can be specified by setting the separator attribute to 1. You will also notice menu items can also contain check boxes and in the example above the check box state is stored in the registry. =head1 Example Listing We have looked at various aspects of Win32::GUI::XMLBuilder module and I hope I have given you a good base to start developing your own applications. I have provided a complete example with this article. It is the application template also available with the distribution and should be a good starting point for any Win32 application. =head1 COPYRIGHT Reprinted courtesy of The Perl Journal (http://www.tpj.com/). This article originally appeared in I November 2004 issue.