Глава 13: Манипулирование файлами и каталогами
13.2 Переименование файла
В shell UNIX имя файла изменяется с помощью команды mv. В Perl эта операция обозначается как rename($старое,$новое). Вот как следует переименовать файл fred в barney:
rename("fred","barney") II die "Can't rename fred to barney: $!";
Как и большинство других функций, при успешном выполнении rename возвращает значение "истина", поэтому, чтобы узнать, сработала ли функция rename, нужно проверить этот результат.
Когда пользователь вводит mv файл какой-то каталог, команда mv делает пару закулисных фокусов и создает полное путевое имя (или, другими словами, полное описание пуги к месту размещения файла). Функция rename этого делать не умеет. В Perl зквивалентная операция выглядит так:
rename("файл","какой-то_каталог/файл");
Обратите внимание: в Perl нужно указать имя файла в новом каталоге явно. Кроме того, команда mv копирует файл, когда он переименовывается, с одного смонтированного устройства на другое (если вы используете одну из достаточно совершенных операционных систем). Функция rename не настолько умна, поэтому вы получите сообщение об ошибке, означающее, что эту проблему нужно решать каким-то иным способом (возможно, посредством вызова команды mv c теми же именами). Модуль File::Find поддерживает функцию move.
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|