adnValues: extern "C" __declspec(dllexport) double adnValues(double x, double y) { double z; z = x + y; cout << x << " " << y << " " << z << endl; return(z); } #### use Win32::API; $fld1 = $ARGV[0]; $fld2 = $ARGV[1]; $myFunc = Win32::API->new('adnValues', 'double adnValues(double x, double y)'); $outval = $myFunc->Call($fld1, $fld2); print "$outval"; #### e.g. $myFunc = Win32::API->new('adnValues', 'double adnValues()'); $outval = $myFunc->Call(); #### $myFunc = Win32::API->new('adnalues', 'adnValues', 'DD', 'D')