On approximately 7/28/2004 12:47 PM, came the following characters from the keyboard of Alan Stewart:
Win32::MB_ICONQUESTION is coded as a sub, so the syntax with the & works at the first level. It appears that the extra level of eval in PAR makes it look like the equivalent of:
$flags = 4 | & 32;
which is not legal, and gives the error:
Undefined subroutine &main::32 called at ...
I don't know how this happens and still gives the name MB_ICONQUESTION in the error message.
Since I get MB_ICONQUESTION in the error, this probably isn't what happened. What happened is the code in question doesn't usually get executed, and I didn't have a "use Win32;" anywhere. Due to other PAR issues, the code got executed unexpectedly, and the lack of use Win32 reared its head.
Anyway, you can't rely on the constant being implemented as a sub, and as Rob said, it is not neccessary.
Really? How else can one implement constants and not make them a sub? I was under the impression that even "use constant..." created subs...
Alan Stewart
-- Glenn -- http://nevcal.com/ =========================== The best part about procrastination is that you are never bored, because you have all kinds of things that you should be doing.
