Функции для работы с файлами (продолжение)
Урок 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 "Файл не создан"}