in reply to WIN32-API Purgetory

With Win32::API, the "P" type specification should only be used for passing in or getting back a copy of a "\0"-terminated string. If you want to pass in a pointer to a buffer like you've done, then you should use the "I" type specification and build an integer from the pointer to the buffer:

my $transbar= "\0" x 66; my $pTransbar= unpack "I", pack "P", $transbar; my $rc= $dll->C­all( $track­, $route, $pTransbar ); $transbar =~ s/\0.*$//; print "$transbar \n";

Yes, this makes the choice of "P" as in "pointer" quite unfortunate, but just think of it as having been done by somebody with very little imagination as to what a "pointer" might be.

- tye