広告
広告
システムライブラリの同名の関数を実行します。リストコンテキストでは、さまざまな get ルーティンからの返却値は次のようになります。
($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*
エントリが存在しなければ空リストが返されます。
スカラコンテキストでは、*nam、*byname といった NAME で検索するもの以外は、name を返し、NAME で検索するものは何か別のものを返します。エントリが存在しなければ未定義値が返ります。
getgr*() によって返る値 $members はグループのメンバのログイン名をスペースで区切ったものです。
gethost*() 関数では、C で h_errno 変数がサポートされていれば関数呼出が失敗したときに$? を通して、その値が返されます。成功時に返される @addrs 値は、対応するシステムコールが返す生のアドレスのリストです。インターネットドメインでは、個々のアドレスは、4 バイト長で、($a,$b,$c,$d) = unpack('C4',$addr[0]);
のようにしてunpack することができます。
広告