Введение в Perl

       

Группа системных вызовов



Группа системных вызовов:

  • getpwnam NAME
  • getgrnam NAME
  • gethostbyname NAME
  • getnamebyname NAME
  • getprotobyname NAME
  • getpwuid UID
  • getgrid GID
  • getservbyname NAME, PROTO
  • gethostbyaddr ADDR, ADDRTYPE
  • getnetbyaddr ADDR, ADDRTYPE
  • getprotobynumber NUMBER


  • getservbyport PORT, PROTO
  • getpwent
  • gethostent
  • getnetent
  • getprotoent
  • getservent
  • setpwent
  • setgrent
  • sethostent STAYOPEN
  • setnetent STAYOPEN
  • setprotoent STAYOPEN
  • setservent STAYOPEN
  • endpwent
  • endgrent
  • endhostent
  • endnetent
  • endprotoent
  • endservent

Все эти функции аналогичны одноименным системным вызовам. В списковом контексте возвращают следующие списки:

($name, $passwd, $uid, $gid, $quota, $comment, $gcos, $dir, $shell) = getpw* ($name, $passwd, $gid, $members) = getgr* ($name, $aliases, $addrtype, $length, @addrs) = gethost* ($name, $aliases, $addrtype, $net) = getnet* ($name, $aliases, $proto) = getproto* ($name, $aliases, $port, $proto) = getserv*

В скалярном контексте возвращается имя или что-то другое, в зависимости от типа функции. Элемент $members в вызове getgr содержит разделенные пробелом имена членов группы. @addrs содержит IP адреса компьютеров в сети Интернет в упакованном виде. Для распаковки применяйте: ($a, $b, $c, $d) = unpack('C4',$addr[0]);



Содержание раздела