If my reading of Clipboard.xs in the Win32::Clipboard source is correct, then the module does *not* have any way to make Set() work as anything but CF_TEXT. The docs even explicitly say about CF_TEXT:
this is the only format you can use to set clipboard data
- Submit a request via rt.cpan.org to add this functionality.
- Edit the source to make a SetAs() routine, by combining techniques from GetAs() and Set(). Don't forget to send a patch to Jan Dubois.
- Use Win32::API to directly access SetClipboardData(CF_UNICODETEXT, Data) and related APIs.
- Pay someone to do #2 or #3.