This is one of those things that can happen. PerlApp is much smarter than it used to be and it has some heuristics for dealing with major libraries like Tk, LWP, etc.
I suspect that what is going on is that the run time environment is able to resolve a method call but that the .exe isn't able to do because the code is simply not available.
My advice is to not "force" modules into the .exe by "unnatural acts of nature". Give PerlApp a clue by putting a "use X;" statement in the source code. PerlApp will stuff everything that is "used" into the .exe.
The first time I built an .exe with Tk, it was a nightmare! I just had "use Tk;" and that worked when all the libraries were available (Perl is very smart). But I would run some say Balloon method in the code and ooops...darn, the Balloon stuff wasn't there in the .exe! Then crash, die, burn...
PerlApp is smarter now, but it is not perfect. My advice is to put a "use" statement in the source code rather than using options to force inclusion of a module into the .exe.
So do it like this... not necessary for Tk now, but I hope you get the idea... Add "use" statements in the source code and that will trigger the dependency checker to include that module in the .exe.
use Tk;
use Tk::Balloon;
|