У меня есть проблема, на которую я не могу найти ответ.
С Perl мне нужно использовать скрипт на платформах Windows и Unix. Проблема в том, что в Windows мы используем специальные Win32-модули, такие как Win32 :: Process , и эти модули не существуют в Unix.
Мне нужен способ включить эти модули Win32 только в Windows.
if($^O =~ /win/i)
{
use win32::process qw(CREATE_NEW_CONSOLE);
}
else
{
#unix fork
}
Проблема заключается в том, что оператор использования для окон. Независимо от того, что я пытаюсь это не компилируется на Unix.
Я пытался использовать динамические уловки, требования, НАЧАТЬ и т. Д.
Есть ли хорошее решение этой проблемы? Любая помощь будет принята с благодарностью.
Заранее спасибо,
Dan
Обновление:
Сотрудник указал мне, что это правильный способ сделать это.
require Win32;
require Win32::Process;
my $flag = Win32::Process::CREATE_NEW_CONSOLE();
Win32::Process::Create($process,
$program,
$cmd,
0,
$flag, ".") || die ErrorReport();
print "Child started, pid = " . getPID() . "\n";
Спасибо всем за помощь!
Dan