in reply to Re^4: how to slove the "Use of uninitialized value in concatenation (.) or string at"
in thread how to slove the "Use of uninitialized value in concatenation (.) or string at"

Please use code tags, as has been requested many times now in this thread - Writeup Formatting Tips. This means surrounding any code with the tags <c> and </c> - it makes it much more likely there will not be a formatting problem when we view your posting. Seeing as you are asking other people to help you out of kindness, courtesy demands that you attempt to follow protocol, which you have not done to date on this post nor on your previous posts 750090 747643 744645 744326. Failure to do so will likely earn you the ire of this very giving community.

The error says that when Perl attempts to interpolate $num on line 21 (see String interpolation), $num is undefined. Seeing as you are linking to 'Test.dll', I can only assume this is a custom library - at least I do not have it. Based on what I see, your call to it is either returning void or not returning a value, hence $num is undef. If this is not what you expect, you need to post the code that's going into Test.dll.

Update: Your terrible formatting has caused me to miss the fact that you posted your C++ code in the root node. This just goes to show how important formatting is to good communication over the internet. I suggest that you attempt to link to your dll using pure C++, to verify your library and linking is as you expect. Is there a reason you are not following the advice of Anonymous Monk in Re: How do I call C++ Dll's class Function in perl using Win32::API and using Inline::CPP, specifically designed to help people avoid dealing with XS?