Я уверен, что кто-то может ответить на этот вопрос очень быстро, но я просто новичок в Perl ...
Я пытаюсь изменить demarc (простой инструмент сетевого мониторинга), чтобы сделать системный вызов простого скрипта. Сценарий сам по себе ничего не делает, я просто пытаюсь сделать «проверку концепции», потому что я продолжаю получать внутреннюю ошибку сервера. Права доступа к сценарию установлены на 777. Когда я комментирую вызов system (), все в порядке. Так что я подозреваю, что это системный вызов, где происходит ошибка. Я также пробовал exec (), но это тоже не сработало. Ошибка не может быть в самом скрипте, так как в нем есть только «проверка» эха.
Я пропустил какие-либо разрешения или есть какой-то другой способ заставить эту работу? Любой совет будет оценен.
sub generate_ticket {
my @args = ("$base_path/test.pl");
exec(@args);
}
Это называется где-то в файле, как это:
} elsif ($FORM{'delete_type'}=~/generate/) {
my $message = &generate_ticket($delete_array_ref);
#&ack_events($delete_array_ref);
$events_deleted = (@$delete_array_ref);
&push_message("<FONT COLOR=red><B>Result: $message.</B></FONT>");
}
test.pl:
#!/usr/bin/perl
print "Test";
Журнал ошибок:
[Пн Ноя 30 14:58:22 2009] [error] [client 127.0.0.1] Преждевременный конец заголовков скриптов: demarc, реферер: http://localhost/dm/demarc?td=show_events&limit=60&sid=35