PERLFUNC: endnetent - be done using networks file 
Author Message
 PERLFUNC: endnetent - be done using networks file

(This excerpt is from the perlfunc manpage, part of the standard set of
documentation included with every valid Perl distribution--like the one on
your own system.  See also http://www.*-*-*.com/
or http://www.*-*-*.com/
if your negligent system adminstrator has been remiss in his duties.)

NAME
    endnetent - be done using networks file

SYNOPSIS
    endnetent

DESCRIPTION
    These routines perform the same functions as their counterparts in
    the system library. In list context, the return values from the
    various get routines are as follows:

        ($name,$passwd,$uid,$gid,
           $quota,$comment,$gcos,$dir,$shell,$expire) = getpw*
        ($name,$passwd,$gid,$members) = getgr*

        ($name,$aliases,$addrtype,$net) = getnet*
        ($name,$aliases,$proto) = getproto*
        ($name,$aliases,$port,$proto) = getserv*

    (If the entry doesn't exist you get a null list.)

    In scalar context, you get the name, unless the function was a
    lookup by name, in which case you get the other thing, whatever it
    is. (If the entry doesn't exist you get the undefined value.) For
    example:

        $uid   = getpwnam($name);
        $name  = getpwuid($num);
        $name  = getpwent();
        $gid   = getgrnam($name);
        $name  = getgrgid($num;
        $name  = getgrent();
        #etc.

    In *getpw*()* the fields $quota, $comment, and $expire are special
    cases in the sense that in many systems they are unsupported. If
    the $quota is unsupported, it is an empty scalar. If it is
    supported, it usually encodes the disk quota. If the $comment field
    is unsupported, it is an empty scalar. If it is supported it
    usually encodes some administrative comment about the user. In some
    systems the $quota field may be $change or $age, fields that have
    to do with password aging. In some systems the $comment field may
    be $class. The $expire field, if present, encodes the expiration
    period of the account or the password. For the availability and the
    exact meaning of these fields in your system, please consult your
    getpwnam(3) documentation and your pwd.h file. You can also find
    out from within Perl what your $quota and $comment fields mean and
    whether you have the $expire field by using the `Config' module and
    the values `d_pwquota', `d_pwage', `d_pwchange', `d_pwcomment', and
    `d_pwexpire'. Shadow password files are only supported if your
    vendor has implemented them in the intuitive fashion that calling
    the regular C library routines gets the shadow versions if you're
    running under privilege. Those that incorrectly implement a
    separate library call are not supported.

    The $members value returned by *getgr*()* is a space separated list
    of the login names of the members of the group.

    For the *gethost*()* functions, if the `h_errno' variable is
    supported in C, it will be returned to you via `$?' if the function

    list of the raw addresses returned by the corresponding system
    library call. In the Internet domain, each address is four bytes
    long and you can unpack it by saying something like:

        ($a,$b,$c,$d) = unpack('C4',$addr[0]);

    The Socket library makes this slightly easier:

        use Socket;
        $iaddr = inet_aton("127.1"); # or whatever address
        $name  = gethostbyaddr($iaddr, AF_INET);

        # or going the other way
        $straddr = inet_ntoa($iaddr);

    If you get tired of remembering which element of the return list
    contains which return value, by-name interfaces are provided in
    standard modules: `File::stat', `Net::hostent', `Net::netent',
    `Net::protoent', `Net::servent', `Time::gmtime', `Time::localtime',
    and `User::grent'. These override the normal built-ins, supplying
    versions that return objects with the appropriate names for each
    field. For example:

       use File::stat;
       use User::pwent;
       $is_his = (stat($filename)->uid == pwent($whoever)->uid);

    Even though it looks like they're the same method calls (uid), they
    aren't, because a `File::stat' object is different from a
    `User::pwent' object.

--
"Once you can accept the universe as being something expanding into an
 infinite nothing which is something, wearing stripes with plaid is easy."
                                - Albert Einstein



Sat, 27 Oct 2001 03:00:00 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. PERLFUNC: endnetent - be done using networks file

2. PERLFUNC: endservent - be done using services file

3. PERLFUNC: endpwent - be done using passwd file

4. PERLFUNC: endprotoent - be done using protocols file

5. PERLFUNC: endhostent - be done using hosts file

6. PERLFUNC: endgrent - be done using group file

7. PERLFUNC: endservent - be done using services file

8. PERLFUNC: endpwent - be done using passwd file

9. PERLFUNC: endprotoent - be done using protocols file

10. PERLFUNC: endhostent - be done using hosts file

11. PERLFUNC: endgrent - be done using group file

12. File testing: what am I doing wrong??

 

 
Powered by phpBB® Forum Software