Функции для работы с файлами (продолжение)
Урок 14. Функции для работы с файлами (продолжение)
Оператор "-X"
Проверка файла, где 'X' - одно из ниже описанных значений. Это унарный оператор с одним аргументом - либо именем файла, либо указателем файла. Проверяет одно из условий. Если аргумент не указан, то берется значение переменной $_. Несмотря на странный вид, это унарный оператор с соответствующим приоритетом. Аргумент можно заключать в круглые скобки. 'X' имеет следующие значения:
-r | Файл разрешен на чтение эффективным uid/gid |
-w | на запись -//- |
-x | исполнение -//- |
-o | принадлежит эффективному uid (идентификатор пользователя) |
-R | Файл разрешен на чтение реальным uid/gid |
-W | на запись -//- |
-X | исполнение -//- |
-O | принадлежит реальному uid |
-e | файл существует |
-z | пустой |
-s | не пустой |
-f | обычный текст |
-d | директория |
-l | символическая ссылка |
-p | pipes (конвейер) |
-S | socket (гнездо) |
-b | специальное блочное устройство |
-c | -//- символьное -//- |
-t | указатель на уст-во tty |
-u | установлен бит setuid |
-g | -//- setgid |
-k | -//- sticky |
-T | текстовой файл |
-B | двоичный |
-M | "возраст" файла в днях на момент старта скрипта |
-A | дней с последнего чтения |
-C | дней с последней модификации inode |
Если проверяется условие, то возвращает True при истинном утверждении и False при ложном. Код ниже проверяет наличие файла "file.txt" в текущей директории и при его наличие выводит кол-во дней с момента последнего обращения к нему:
if (-e("file.txt")){print (-A("file.txt"))} else {print "Файл не создан"}