Perl практика

         

Функции stat и lstat.


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

($uid, &gid) = (stat("/etc/passwd"))[4, 5];



Функция 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&gt) { 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&gt) { 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"; }

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

ОбозначениеОписание



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


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

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

open(ДЕСКРИПТОР,"имя");

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

open(ДЕСКРИПТОР,">имя");

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

open(ДЕСКРИПТОР,">>имя");

Закрытие декриптора файла:

close(ДЕСКРИПТОР);









-rфайл или каталог доступен для чтения
-wфайл или каталог доступен для записи
-xфайл или каталог доступен для выполнения