Вернуться на сайт гостевой книги Power Perl Educaton Help Download Links Off-line version

Урок 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<br>";
open (file,">file.txt");
print file $string;
close file;
truncate ("file.txt",15);
open (file,"file.txt");
$string=<file>;
close file;
print "Read from file: ",$string;

Функция Tell

tell (файл);

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


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

Функция 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]  [приложение Б]  [приложение В]  [заключение]  [благодарности] 


107627

88
15

HOLMS.ru Counter -эфхъё ЎшЄшЁютрэш  Counter CO.KZ


Copyright © ClericICN, 2002 - 2003