Spec-Zone.ru › Perl 5.32

Errno

СОДЕРЖАНИЕ

  • ИМЯ
  • СИНОПСИС
  • ОПИСАНИЕ
  • ОСОБЕННОСТИ
  • АВТОР
  • АВТОРСКИЕ ПРАВА

ИМЯ

Errno - Константы системного errno

СИНОПСИС

use Errno qw(EINTR EIO :POSIX);

ОПИСАНИЕ

Errno определяет и условно экспортирует все константы ошибок, определённые в файле заголовков вашей системы errno.h. У него есть единственный тег экспорта, :POSIX, который будет экспортировать все POSIX-определённые номера ошибок.

В Windows, Errno также определяет и условно экспортирует все константы ошибок Winsock, определённые в файле заголовков вашей системы WinError.h. Они включены во втором теге экспорта, :WINSOCK.

Errno также делает %! магию, так что каждый элемент %! имеет ненулевое значение только в том случае, если $! установлено в это значение. Например:

my $fh;
unless (open($fh, "<", "/fangorn/spouse")) {
    if ($!{ENOENT}) {
        warn "Get a wife!\n";
    } else {
        warn "This path is barred: $!";
    } 
} 

Если указанная константа EFOO не существует в системе, $!{EFOO} возвращает "". Вы можете использовать exists $!{EFOO} для проверки, доступна ли константа в системе.

Perl автоматически загружает Errno в первый раз, когда вы используете %!, поэтому вам не нужен явный use.

ОСОБЕННОСТИ

Импорт конкретной константы может быть не очень переносимым, потому что импорт завершится неудачей на платформах, на которых эта константа отсутствует. Более переносимый способ установить $! в действительное значение — использовать:

if (exists &Errno::EFOO) {
    $! = &Errno::EFOO;
}

АВТОР

Graham Barr <gbarr@pobox.com>

АВТОРСКИЕ ПРАВА

Авторские права (c) 1997-8 Graham Barr. Все права защищены. Эта программа является свободной программой; вы можете распространять и/или изменять её на тех же условиях, что и Perl сам по себе.

© 1993–2020 Larry Wall and others
Licensed under the GNU General Public License version 1 or later, or the Artistic License.
The Perl logo is a trademark of the Perl Foundation.
https://perldoc.perl.org/5.30.3/Errno

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API