#include __declspec(dllexport) unsigned char __stdcall getChar() { unsigned char c = (unsigned char)( rand() & 0xFF ); printf( "Returning %d\n", c ); return c; } #### #! perl -slw use strict; use Win32::API; my $getChar = Win32::API->Import( 'junkdll', 'int getChar()' ) or die $!, $^E; print getChar() for 1 .. 10; #### C:\test>t-w32api.pl Returning 41 41 Returning 35 35 Returning 190 190 Returning 132 132 Returning 225 225 Returning 108 108 Returning 214 214 Returning 174 174 Returning 82 82 Returning 144 144