in reply to Win32::API giving a program error

It will be difficult for anyone to help you with this unless they also have a copy of the DLL in question. However, the first thing you should do is add some error checking to your code. You should check that $ApiObject (aweful name!) does actually aquire a value and print out $^E if it fails so that you have a clue as to why.

my $ApiObject = new Win32::API( "C:/Documents and Settings/Mdaviesie/Desktop/dver_1.3/fileversion. +dll", "GetFileVersionTxt", 'PP','I' ) or die "Failed to acquire API: $^E";

Similarly, assuming that the ->Call(...) is returning, then you should be doing a similar check on the return code.


Examine what is said, not who speaks.
"Efficiency is intelligent laziness." -David Dunham
"Think for yourself!" - Abigail