SV * GetAsPointer( format ) int format CODE: RETVAL= &PV_sv_undef; if( OpenClipboard(NULL) ) { char *data= (char *)GetClipboardData((UINT)format); RETVAL= newSVpvn( data, (char *)&data, sizeof(data) ); CloseClipboard(); } OUTPUT: RETVAL #### my $ptr= GetAsPointer(13); my $len= 0; my $head; do { $len += 2; # (update) $head= unpack "P$len", $ptr; } until( "\0\0" eq substr($head,-2) );