Since I didn't find a simple Perl vCloud API example and there is no Perl binding at this time, I wrote an example that instantiates a vApp from a vApp Template in the Catalog. Please see the attached "Perl newVapp.zip".
For input parameters it uses an XML document like this:
<config> <server>vcd.vmware.com</server> <organization>calls</organization> <user>calladmin</user> <password>vmware</password> <orgvdc>CallsOrgVDC1</orgvdc> <catalog>Master Images</catalog> <vAppTemplate>apitest</vAppTemplate> <vAppName>api_vApp</vAppName> <vAppDesc>example vApp created by vCloud API</vAppDesc> <vAppNetwork>calls internal</vAppNetwork> </config>
Ideally, your source vApp Template should be fully configured for network and making identical copies because this simple example powers on the new vApp behind a network fence (that is - natRouted instead of bridged). And this example does not address the numerous options around new network connections or guest customization in each VM.
Hopefully you will find this simple example somewhat helpful.