Создание серверных приложений на языке PERL

         

Урок 15. Функции для работы


Урок 15. Функции для работы с файлами (продолжение)

Функция Utime



utime (Date1,Date2,список_файлов);

Изменяет дату обращения и модификации файлов из списка. Первые два элемента списка должны указывать новое значение даты обращения и модификации. Возвращает количество измененных файлов.

Функция Truncate



truncate (файл, длина);


Усекает длину указанного файла.
Запишем в файл file.txt строку и усечем его до 15 байт:

#!/usr/bin/perl # programm 15

print "Content-type: text/html\n\n";

$string = "This is a sample file"; print "Write to file: $string
"; open (file,">file.txt"); print file $string; close file; truncate ("file.txt",15); open (file,"file.txt"); $string=; close file; print "Read from file: ",$string;

Функция Tell

tell (файл);

Возвращает текущую позицию указателя в открытом файле. Если файл не указан, то последнего читаемого файла.

Следующий код читает 15 байт из файла "file.txt". Непременное условие работы этого кода - длина файла должна быть более 15 байт.

print ""; open (file, "file.txt"); while (tell(file) < 15){ print getc(file); } print "";

Функция Stat

stat (файл);

Возвращает 13 элементный массив параметров указанного файла или пустой список при ошибке. Применяется обычно следующим образом:

($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) = stat($filename);

  • $dev - имя устройства


  • $ino - номер i-узла


  • $mode - права доступа


  • $nlink - количество связей


  • $uid - идентификатор владельца


  • $gid - идентификатор группы


  • $rdev - тип устройства


  • $size - размер файла в байтах


  • $atime - дата последнего обращения


  • $mtime - дата последней модификации


  • $ctime - дата последнего изменения статуса


  • $blksize - размер блока на диске


  • $blocks - количество блоков в файле.


  • Следующий код выводит размер файла в байтах:

    $u = (stat("file.txt"))[7]; print $u; }

    Функция Seek

    seek (FileVar, позиция, отсчет);

    Установить указатель на произвольную позицию в файле. Если отсчет равен 0 - позиционировать от начала файла, если 1 - от текущего положения, 2 - от конца файла. Возвращает 1 при успехе и 0 - неудаче.

    Функция Chmod

    chmod (список);

    Изменить права доступа к файлам указанным в списке. Первый элемент в списке - числовое ,обычно восьмеричное значение прав. Возвращает количество файлов которым были изменены права.
    Пример:

    chmod 0666 'f1', 'f2', 'f3';

    * * * *

    Напишите программу, которая выводит все сведения об указанном файле или сообщение об ошибке, если файл не найден.

    Имя файла передается спомощью формы.

    Напишите программу, которая выводит указанную строку файла с указанным смещением. Т.е. начинает вывод не с начала. Используйте функции Seek и Getc для решения этой задачи.

    [Содержание]  [Вступление]  [необходимое для начала изучения]  [урок 1]  [урок 2]  [урок 3]  [урок 4]  [урок 5]  [урок 6]  [урок 7]  [урок 8]  [урок 9]  [урок 10]  [урок 11]  [урок 12]  [урок 13]  [урок 14]  [урок 15]  [урок 16]  [урок 17]  [урок 18]  [урок 19]  [урок 20]  [урок 21]  [урок 22]  [урок 23]  [урок 24]  [урок 25]  [урок 26]  [урок 27]  [урок 28]  [правила хорошего тона]  [приложение A]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 

    Copyright (c) ClericICN, 2002


    Содержание раздела