Назад | Перейти на главную страницу

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

как я могу это сделать mv ($file $new_file/$1) or die("Errors 2");

чтобы он остановил скрипт в терминале, если файл не найден?

в противном случае он продолжает повторяться и повторяться, и мне нужно перезапустить сеанс шпатлевки, чтобы я мог что-то напечатать

 use autodie;
 rename($file, "$dir/$newname")
  • Если его не удастся переименовать по какой-либо причине, он умрет. Если файла нет, его явно не удалось переименовать, и он также будет обнаружен.

Что насчет этого тогда:

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

Пожалуйста, прочтите руководство для rename() функция, чтобы увидеть ее ограничения (perldoc -f rename) и что вы можете с этим сделать (например, использовать move() из File::Copy модуль).