This is progress, Thanks.
I call a function, runTestHarness() that uses the Win only Iprocess mod. If I
comment out the few lines in this function that use the words imported from
Iprocess.pm, everything compiles. But when I include the lines in the function
(example below), I get an error like:
"Bareword 'INHERITED' no allowed while 'strict subs' in use"
Is there a way to conditionally compile the code in the runTestHarness function as
well?
Thanks again, this is a big help!
-Noah
THE CODE
------------------------------
BEGIN {
if($^O =~ /Win32/)
{
# now importing all the constants
eval "use Win32::IProcess
qw( SW_SHOWNORMAL SW_SHOWDEFAULT SW_SHOWMAXIMIZED SW_HIDE SW_SHOW
SW_MAXIMIZE FOREGROUND_RED
FOREGROUND_GREEN FOREGROUND_BLUE BACKGROUND_RED BACKGROUND_GREEN
BACKGROUND_BLUE
FOREGROUND_INTENSITY NORMAL_PRIORITY_CLASS PROCESS_ALL_ACCESS INHERITED
FLOAT
DIGITAL NULL CREATE_NEW_CONSOLE NOPATH)";
}
}
......
sub runTestHarness
{
...
$procManager->Create("${harnessBuild}/${buildToTest}","
-mmjs=dw.runCommand(\"JsTests")",INHERITED,CREATE_NEW_CONSOLE,".",NULL,SW_SHOWDEFAULT,200,200,300,300,"");
}
-----Original Message-----
From: Chris Nandor [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, July 31, 2002 12:20 PM
To: Matt Morse
Cc: Noah Hoffman; Matt Morse; '[EMAIL PROTECTED]'
Subject: Re: [MacPerl] Can you make "use" platform specific?
At 11:55 -0700 2002.07.31, Matt Morse wrote:
>I think it would work to put it in an eval:
>
>if($^O =~ /Win32/)
> eval "use Win32::IProcess.pm";
>}
Also, if you need the compile-time effects of use, then wrap that in a
BEGIN {}.
--
Chris Nandor [EMAIL PROTECTED] http://pudge.net/
Open Source Development Network [EMAIL PROTECTED] http://osdn.com/