I don't know about the rest -- but for the 'caller' bit: caller() returns information about the sub that called the current sub. In the code that you gave, caller would normally return nothing when called as a regular script because nothing _called_ this code, instead this code is where everything starts.
What must be happening is that in PAR there is some script that kicks off, and then does a 'do' or similar on your script.
You might be able to illustrate this to yourself by dumping out a stack trace. Just above your 'unless', put:
use Carp qw( cluck ); cluck('Dumping stacktrace!');
That will print out the whole callchain. Now run your program directly, and then again from a PAR exe, and note the difference.
In reply to Re: wxperl + PAR::Packer + GUI not working
by awwaiid
in thread wxperl + PAR::Packer + GUI not working
by alfoos
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |