Титульная страница
ISO 9000 ISO 14000
GMP Consulting
 

Дескрипторы файлов и проверка файлов.

Открытие и закрытие дескрипторов файлов.

Дескрипторы "по умолчанию": STDIN, STDOUT, STDERR.

Открытие декриптора файла на чтение:

open(ДЕСКРИПТОР,"имя");
Открытие декриптора файла на запись:
open(ДЕСКРИПТОР,">имя");
Открытие декриптора файла на дозапись:
open(ДЕСКРИПТОР,">>имя");
Закрытие декриптора файла:
close(ДЕСКРИПТОР);

Функция die.

Функция die получает список, выводит этот список на STDERR, а затем завершает PERL-процесс с ненулевым кодом выхода.
open(DATA, ">/tmp/data") || die "Sorry, I couldn't open /tmp/data\n";
Если строке сообщения не использовать символ \n, то к сообщению автоматически присоединяется имя программы и номер строки.
die "good bye";

die "good bye\n";
Использование переменной $!, содержащей строку последней из ошибок операционной системы.
open(LOG, ">>logfile") || die "cannot append:$!";
возможное сообщение: cannot append: Permission denied

Использование дескрипторов файлов.

Чтение строк из файла:
open(EP, "/etc/passwd");
while(<EP>) {
	chomp;
	print "I saw $_ in the passwdord file!\n";
}
close(EP);
Для записи:
print LOGFILE "Finish!\n";
print STDOUT "Finish!\n";
Копирование данных из файла в файл:
open(IN, $a) || die "cannot open $a for reading: $!";
open(OUT, ">$b") || die "cannot create $b: $!";
while(<IN>) {
	print OUT $_;
}
close(IN) || die "cannot close $a: $!";
close(OUT) || die "cannot close $b: $!";

Операции для проверки файлов.

Опреация -e $fele проверяет факт существования файла. Возвращает значения истина или ложь.
$name = "index.html";
if(-e $name) {
	print "I see you already have a file named $name\n";
} else {
	print "P3eharps you'd like to make file called $name\n";
}
Операции для проверка файлов.
ОбозначениеОписание
-rфайл или каталог доступен для чтения
-wфайл или каталог доступен для записи
-xфайл или каталог доступен для выполнения

Функции stat и lstat.

($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size, $atime, $mtime, $ctime,
$blksize, $bloks) = stat(...);
($uid, &gid) = (stat("/etc/passwd"))[4, 5];


 
Rambler's Top100