Bill,
I tried your suggestions, but they didn't work.
I did, however, manage to come up with two solutions.
The first is the simplest. And that just involves setting the PATH environment variable to the absolute path of the subdirectory where the executable resides and then doing the system call to the executable. The system call will now be able to find the executable.
$ENV{'PATH'}="C:/inetpub/web/sub"; system (anyprogram.exe arg1");
One other thing you might try. C<system>, unfortunately, behaves different depending on its arguments, whether you pass a single string or multiple arguments and whether the string contains shell meta characters, amoung other things. It seems to work more reliably and predictably if you always use the LIST form:
system( 'C:/inetpub/web/sub', 'arg1', 'arg2' ) == 0 or die( "system call failed: $?" );
just a WAG.
Randy.
BTW, if you do go with the c<$ENV{PATH}> solution you mentioned, it's generally a good practice to localize the scope of variables as much as possible:
{
require Config;
local $ENV{'PATH'} = join( $Config::Config{path_sep},
($ENV{PATH}, 'C:/inetpub/web/sub') );
system( 'program.exe', 'arg1' );
}_______________________________________________ ActivePerl mailing list [EMAIL PROTECTED] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
