Perl / 12. Операции с каталогами

Файлы, с которыми мы работали в предыдущей главе, обычно размещаются в одном каталоге с программой. Но современные операционные системы позволяют распределять файлы по каталогам, чтобы мы могли хранить любимые записи Beatles в формате MP3 отдельно от исходного кода для «книги с ламой» и не отправили файл MP3 в издательство. Perl позволяет работать с каталогами напрямую, причем выполняемые операции в целом портируемы между разными операционными системами.
Статьи раздела '12. Операции с каталогами':
Альтернативный синтаксис глобов
Говоря о глобах, мы имеем в виду оператор glob, однако ключевое слово glob не так уж часто встречается в программах, использующих глобы. Почему? Большая часть старого кода была написана до того, как оператор glob получил свое имя....
Глобы
Обычно командный процессор расширяет файловые спецификации в командной строке до имен конкретных файлов, совпадающих с ними. Эти спецификации называются глобами (glob). Например, если передать команде echo файловую спецификацию *....
Дескрипторы каталогов
Для получения списка имен из заданного каталога также можно воспользоваться дескриптором каталога. Дескрипторы каталога очень похожи на файловые дескрипторы – как по внешнему виду, так и по поведению. Их тоже необходимо открыть (o...
Изменение временных меток
В тех редких случаях, когда вам нужно «соврать» другой программе относительно времени последнего обращения или модификации файла, функция utime придет вам на помощь. В первых двух аргументах передается новое время последнего обращ...
Изменение разрешений
Команда UNIX chmod изменяет разрешения доступа для файла или каталога. В Perl эта задача решается функцией chmod: chmod 0755, "fred", "barney"; Как и многие функции операционной системы, chmod возвращает количество успешно и...
Операции с файлами и каталогами
Perl очень часто применяется для обработки файлов и каталогов. Так как язык Perl вырос в среде UNIX и до сих пор активно используется в ней, может показаться, что материал этой главы ориентирован на UNIX. Но к счастью, Perl старае...
Переименование файлов
Функция rename присваивает новое имя существующему файлу: rename "old", "new"; Как и аналогичная команда UNIX mv, она берет файл с именем old и присваивает ему имя new в том же каталоге. Переименование даже может сопровождат...
Перемещение по дереву каталогов
Программа имеет определенный «рабочий каталог», который является отправной точкой для построения относительных путей. Иначе говоря, когда вы ссылаетесь на файл fred, имеется в виду файл fred в текущем рабочем каталоге. Рабочий кат...
Рекурсивное чтение каталогов
Вряд ли вам понадобится возиться с рекурсивным чтением каталогов в самом начале вашей карьеры Perl-программиста. А раз так, вместо того чтобы отвлекать вас описанием возможностей замены уродливых сценариев find, мы просто скажем, ...
Смена владельца
Если операционная система предоставляет такую возможность, вы можете сменить владельца (пользователя и группу) для списка файлов (или файловых дескрипторов) при помощи функции chown. Пользователь и группа изменяются одновременно, ...
Создание и удаление каталогов
Создать новый каталог в существующем каталоге несложно. Просто вызовите функцию mkdir: mkdir "fred", 0755 or warn "Cannot make fred directory: $!"; И снова при успешном создании возвращается true, а при неудаче задается пере...
Ссылки и файлы
Чтобы лучше усвоить суть некоторых операций с файлами и каталогами, желательно понимать модель файлов и каталогов в системе UNIX, даже если вы работаете в другой системе, которая ведет себя несколько иначе. Как обычно, наше кратко...
Удаление файлов
Файлы обычно создаются для хранения данных. Однако со временем данные устаревают и файл приходится удалять из системы. На уровне командного процессора UNIX удаление файла или файлов выполняется командой rm: $ rm slate bedrock l...

Страницы: 1