Spec-Zone.ru › Perl 5.28

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>

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

Авторские права (с) 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.28.3/Errno

Spec-Zone.ru

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