Перемещение файла в Perl, который останавливает текущий сценарий?

Выстрел в темноте, но апачем по умолчанию перенаправляет что-либо пишущее в stderr в файл error.log, поэтому если Ваш сценарий генерировал вывод stderr вообще (пространство, новая строка), это - то, как это могло бы проявить.

1
задан 10 October 2011 в 13:45
2 ответа
 use autodie;
 rename($file, "$dir/$newname")
  • Если не удастся переименовать по какой-либо причине, он умрет. Если файла нет, переименовать его, очевидно, не удалось, и он также будет обнаружен.
2
ответ дан 3 December 2019 в 22:00

What about this then:

if ( -f $file ) {
  rename($file, "$dir/$newname")
    or die("Could not rename '$file' to '$dir/$newname'");
} else {
  die("File '$file' does not exist");
}

Please read the manual for the rename() function to see its limitations (perldoc -f rename) and what you might want to do about it (e.g., use move() from the File::Copy module).

0
ответ дан 3 December 2019 в 22:00

Теги

Похожие вопросы