in reply to SOAP::Lite and XML

Similar to your previous node, try passing a reference to the @pkg array:
XRC::changePkg( $username, \@pkg );
I still don't have access to the required wsdl file, so it's a bit of a guess, but here's what SOAP::Lite generates for the array without the wsdl:
<soapenc:Array soapenc:arrayType="xsd:int[1]" xsi:type="soapenc:Array" +> <item xsi:type="xsd:int">5544</item> </soapenc:Array>
I think you'll find it'll turn out alright when the wsdl is in place.