Привет! Я использую Perl-скрипт, написанный другим человеком, которого больше нет в компании.
Если я запускаю скрипт как отдельный, то результат будет таким, как ожидалось. Но когда я повторно вызываю скрипт из другого кода, вывод неправильный, за исключением первого раза.
Я подозреваю, что некоторые переменные не инициализированы должным образом. Когда он называется автономным, каждый раз, когда он выходит, все значения переменных инициализируются значениями по умолчанию. Но при вызове из другого сценария perl модули и значения переменных, вероятно, переносятся на следующий вызов сценария.
Есть ли какой-нибудь способ удалить вызванный скрипт из памяти, прежде чем я вызову его в следующий раз?
Я попытался включить предупреждение, и оно выдало тысячи строк предупреждения ...!
РЕДАКТИРОВАТЬ: Как я вызываю другой сценарий:
Код выглядит так:
do "processing.pl";
...
...
...
process(params); #A function in processing.pl
...
...
...