I extended the vmclone.pl example delivered in the SDK for Perl to include the specification of IP settings for Windows. I tested this example in my small lab environment with a Windows XP guest and it performed fine when using a fixed IP. When I specified DHCP for the IP0 field in the vmclone.xml, the guest did not join the specified domain. I will need to investigate further. This may not be the script's fault.
I had a little trouble with the CustomizationIPSettings call in VMUtil.pm until I escaped the array references passed into the constructor for gateway and dnsServers. This is required since some VMware package is using the "use strict refs" directive: http://perldoc.perl.org/strict.html It was an easy fix but a little outside my familarity since I am more of a casual Perl user.
I included the $Data::Dumper calls since I found this approach to be an effective way of examining the customization specification during development.
This code is presented "as is". I hope it is useful and instructful.