Unfortunately SOAP::WSDL available via ActivePerl's Perl Package Manager is 1.20 and has a bug which causes wrong typing.I'm using 1.20 on my production box, 1.25 on my dev box.
I've passed arrays of strings (and arrays of other complexTypes) to services before using both versions.
What type errors in value construction are you seeing? If there's really a problem there, perhaps you could Report a bug ?
And the latest version, probably 1.25, requires some ActivePerl built-in components (including SOAP::Lite) to be updated and I gave it up.SOAP::Lite and SOAP::WSDL are both Perl-Only modules (examples aside), so just upgrade them on your dev box via CPAN, then use PPM::Make to build PPM packages for your testing/production machines. If you don't have nmake.exe (from visual studio) installed, you can get instructions here.
SOAP::WSDL is currently undergoing a re-write (v2 series). From what I understand it will have a mostly similar interface but will be much more flexible. A (developer) release is available now for testing.
Why don't you check if your issues are resolved with the v2 series?