home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


getpwent

getpwent

Retrieves the next line from the /etc/passwd file (or its equivalent coming from some server somewhere). Returns null at the end of the file. The return value in list context is:

($name,$passwd,$uid,$gid,$quota,$comment,$gcos,$dir,$shell)
Some machines may use the quota and comment fields for other purposes, but the remaining fields will always be the same. To set up a hash for translating login names to uids, do this:
while (($name, $passwd, $uid) = getpwent) {
    $uid{$name} = $uid;
}
In scalar context, getpwent returns only the username.