


lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


NAME
       POSIX - Perl interface to IEEE Std 1003.1

SYNOPSIS
           use POSIX;
           use POSIX qw(setsid);
           use POSIX qw(:errno_h :fcntl_h);

           printf "EINTR is %d\n", EINTR;

           $sess_id = POSIX::setsid();

           $fd = POSIX::open($path, O_CREAT|O_EXCL|O_WRONLY, 0644);
               # note: that's a filedescriptor, *NOT* a filehandle


DESCRIPTION
       The POSIX module permits you to access all (or nearly all)
       the standard POSIX 1003.1 identifiers.  Many of these
       identifiers have been given Perl-ish interfaces.  Things
       which are #defines in C, like EINTR or O_NDELAY, are
       automatically exported into your namespace.  All functions
       are only exported if you ask for them explicitly.  Most
       likely people will prefer to use the fully-qualified
       function names.

       This document gives a condensed list of the features
       available in the POSIX module.  Consult your operating
       system's manpages for general information on most
       features.  Consult the perlfunc manpage for functions
       which are noted as being identical to Perl's builtin
       functions.

       The first section describes POSIX functions from the
       1003.1 specification.  The second section describes some
       classes for signal objects, TTY objects, and other
       miscellaneous objects.  The remaining sections list
       various constants and macros in an organization which
       roughly follows IEEE Std 1003.1b-1993.

NOTE
       The POSIX module is probably the most complex Perl module
       supplied with the standard distribution.  It incorporates
       autoloading, namespace games, and dynamic loading of code
       that's in Perl, C, or both.  It's a great source of
       wisdom.

CAVEATS
       A few functions are not implemented because they are C
       specific.  If you attempt to call these, they will print a
       message telling you that they aren't implemented, and
       suggest using the Perl equivalent should one exist.  For
       example, trying to access the setjmp() call will elicit
       the message "setjmp() is C-specific: use eval {} instead".



29/Apr/1999            perl 5.005, patch 03                     1





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       Furthermore, some evil vendors will claim 1003.1
       compliance, but in fact are not so: they will not pass the
       PCTS (POSIX Compliance Test Suites).  For example, one
       vendor may not define EDEADLK, or the semantics of the
       errno values set by open(2) might not be quite right.
       Perl does not attempt to verify POSIX compliance.  That
       means you can currently successfully say "use POSIX",  and
       then later in your program you find that your vendor has
       been lax and there's no usable ICANON macro after all.
       This could be construed to be a bug.

FUNCTIONS
       _exit   This is identical to the C function _exit().

       abort   This is identical to the C function abort().

       abs     This is identical to Perl's builtin abs()
               function.

       access  Determines the accessibility of a file.

                       if( POSIX::access( "/", &POSIX::R_OK ) ){
                               print "have read permission\n";
                       }

               Returns undef on failure.

       acos    This is identical to the C function acos().

       alarm   This is identical to Perl's builtin alarm()
               function.

       asctime This is identical to the C function asctime().

       asin    This is identical to the C function asin().

       assert  Unimplemented.

       atan    This is identical to the C function atan().

       atan2   This is identical to Perl's builtin atan2()
               function.

       atexit  atexit() is C-specific: use END {} instead.

       atof    atof() is C-specific.

       atoi    atoi() is C-specific.

       atol    atol() is C-specific.

       bsearch bsearch() not supplied.





29/Apr/1999            perl 5.005, patch 03                     2





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       calloc  calloc() is C-specific.

       ceil    This is identical to the C function ceil().

       chdir   This is identical to Perl's builtin chdir()
               function.

       chmod   This is identical to Perl's builtin chmod()
               function.

       chown   This is identical to Perl's builtin chown()
               function.

       clearerr
               Use method IO::Handle::clearerr() instead.

       clock   This is identical to the C function clock().

       close   Close the file.  This uses file descriptors such
               as those obtained by calling POSIX::open.

                       $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
                       POSIX::close( $fd );

               Returns undef on failure.

       closedir
               This is identical to Perl's builtin closedir()
               function.

       cos     This is identical to Perl's builtin cos()
               function.

       cosh    This is identical to the C function cosh().

       creat   Create a new file.  This returns a file descriptor
               like the ones returned by POSIX::open.  Use
               POSIX::close to close the file.

                       $fd = POSIX::creat( "foo", 0611 );
                       POSIX::close( $fd );


       ctermid Generates the path name for the controlling
               terminal.

                       $path = POSIX::ctermid();


       ctime   This is identical to the C function ctime().

       cuserid Get the character login name of the user.

                       $name = POSIX::cuserid();



29/Apr/1999            perl 5.005, patch 03                     3





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       difftime
               This is identical to the C function difftime().

       div     div() is C-specific.

       dup     This is similar to the C function dup().

               This uses file descriptors such as those obtained
               by calling POSIX::open.

               Returns undef on failure.

       dup2    This is similar to the C function dup2().

               This uses file descriptors such as those obtained
               by calling POSIX::open.

               Returns undef on failure.

       errno   Returns the value of errno.

                       $errno = POSIX::errno();


       execl   execl() is C-specific.

       execle  execle() is C-specific.

       execlp  execlp() is C-specific.

       execv   execv() is C-specific.

       execve  execve() is C-specific.

       execvp  execvp() is C-specific.

       exit    This is identical to Perl's builtin exit()
               function.

       exp     This is identical to Perl's builtin exp()
               function.

       fabs    This is identical to Perl's builtin abs()
               function.

       fclose  Use method IO::Handle::close() instead.

       fcntl   This is identical to Perl's builtin fcntl()
               function.

       fdopen  Use method IO::Handle::new_from_fd() instead.

       feof    Use method IO::Handle::eof() instead.




29/Apr/1999            perl 5.005, patch 03                     4





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       ferror  Use method IO::Handle::error() instead.

       fflush  Use method IO::Handle::flush() instead.

       fgetc   Use method IO::Handle::getc() instead.

       fgetpos Use method IO::Seekable::getpos() instead.

       fgets   Use method IO::Handle::gets() instead.

       fileno  Use method IO::Handle::fileno() instead.

       floor   This is identical to the C function floor().

       fmod    This is identical to the C function fmod().

       fopen   Use method IO::File::open() instead.

       fork    This is identical to Perl's builtin fork()
               function.

       fpathconf
               Retrieves the value of a configurable limit on a
               file or directory.  This uses file descriptors
               such as those obtained by calling POSIX::open.

               The following will determine the maximum length of
               the longest allowable pathname on the filesystem
               which holds /tmp/foo.

                       $fd = POSIX::open( "/tmp/foo", &POSIX::O_RDONLY );
                       $path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );

               Returns undef on failure.

       fprintf fprintf() is C-specific--use printf instead.

       fputc   fputc() is C-specific--use print instead.

       fputs   fputs() is C-specific--use print instead.

       fread   fread() is C-specific--use read instead.

       free    free() is C-specific.

       freopen freopen() is C-specific--use open instead.

       frexp   Return the mantissa and exponent of a floating-
               point number.

                       ($mantissa, $exponent) = POSIX::frexp( 3.14 );






29/Apr/1999            perl 5.005, patch 03                     5





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       fscanf  fscanf() is C-specific--use <> and regular
               expressions instead.

       fseek   Use method IO::Seekable::seek() instead.

       fsetpos Use method IO::Seekable::setpos() instead.

       fstat   Get file status.  This uses file descriptors such
               as those obtained by calling POSIX::open.  The
               data returned is identical to the data from Perl's
               builtin stat function.

                       $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
                       @stats = POSIX::fstat( $fd );


       ftell   Use method IO::Seekable::tell() instead.

       fwrite  fwrite() is C-specific--use print instead.

       getc    This is identical to Perl's builtin getc()
               function.

       getchar Returns one character from STDIN.

       getcwd  Returns the name of the current working directory.

       getegid Returns the effective group id.

       getenv  Returns the value of the specified enironment
               variable.

       geteuid Returns the effective user id.

       getgid  Returns the user's real group id.

       getgrgid
               This is identical to Perl's builtin getgrgid()
               function.

       getgrnam
               This is identical to Perl's builtin getgrnam()
               function.

       getgroups
               Returns the ids of the user's supplementary
               groups.

       getlogin
               This is identical to Perl's builtin getlogin()
               function.

       getpgrp This is identical to Perl's builtin getpgrp()
               function.



29/Apr/1999            perl 5.005, patch 03                     6





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       getpid  Returns the process's id.

       getppid This is identical to Perl's builtin getppid()
               function.

       getpwnam
               This is identical to Perl's builtin getpwnam()
               function.

       getpwuid
               This is identical to Perl's builtin getpwuid()
               function.

       gets    Returns one line from STDIN.

       getuid  Returns the user's id.

       gmtime  This is identical to Perl's builtin gmtime()
               function.

       isalnum This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isalpha This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isatty  Returns a boolean indicating whether the specified
               filehandle is connected to a tty.

       iscntrl This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isdigit This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isgraph This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       islower This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isprint This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       ispunct This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.



29/Apr/1999            perl 5.005, patch 03                     7





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       isspace This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isupper This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       isxdigit
               This is identical to the C function, except that
               it can apply to a single character or to a whole
               string.

       kill    This is identical to Perl's builtin kill()
               function.

       labs    labs() is C-specific, use abs instead.

       ldexp   This is identical to the C function ldexp().

       ldiv    ldiv() is C-specific, use / and int instead.

       link    This is identical to Perl's builtin link()
               function.

       localeconv
               Get numeric formatting information.  Returns a
               reference to a hash containing the current locale
               formatting values.

               The database for the de (Deutsch or German)
               locale.

                       $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
                       print "Locale = $loc\n";
                       $lconv = POSIX::localeconv();
                       print "decimal_point    = ", $lconv->{decimal_point},   "\n";
                       print "thousands_sep    = ", $lconv->{thousands_sep},   "\n";
                       print "grouping = ", $lconv->{grouping},        "\n";
                       print "int_curr_symbol  = ", $lconv->{int_curr_symbol}, "\n";
                       print "currency_symbol  = ", $lconv->{currency_symbol}, "\n";
                       print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n";
                       print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n";
                       print "mon_grouping     = ", $lconv->{mon_grouping},    "\n";
                       print "positive_sign    = ", $lconv->{positive_sign},   "\n";
                       print "negative_sign    = ", $lconv->{negative_sign},   "\n";
                       print "int_frac_digits  = ", $lconv->{int_frac_digits}, "\n";
                       print "frac_digits      = ", $lconv->{frac_digits},     "\n";
                       print "p_cs_precedes    = ", $lconv->{p_cs_precedes},   "\n";
                       print "p_sep_by_space   = ", $lconv->{p_sep_by_space},  "\n";
                       print "n_cs_precedes    = ", $lconv->{n_cs_precedes},   "\n";
                       print "n_sep_by_space   = ", $lconv->{n_sep_by_space},  "\n";
                       print "p_sign_posn      = ", $lconv->{p_sign_posn},     "\n";
                       print "n_sign_posn      = ", $lconv->{n_sign_posn},     "\n";



29/Apr/1999            perl 5.005, patch 03                     8





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       localtime
               This is identical to Perl's builtin localtime()
               function.

       log     This is identical to Perl's builtin log()
               function.

       log10   This is identical to the C function log10().

       longjmp longjmp() is C-specific: use die instead.

       lseek   Move the file's read/write position.  This uses
               file descriptors such as those obtained by calling
               POSIX::open.

                       $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
                       $off_t = POSIX::lseek( $fd, 0, &POSIX::SEEK_SET );

               Returns undef on failure.

       malloc  malloc() is C-specific.

       mblen   This is identical to the C function mblen().

       mbstowcs
               This is identical to the C function mbstowcs().

       mbtowc  This is identical to the C function mbtowc().

       memchr  memchr() is C-specific, use index() instead.

       memcmp  memcmp() is C-specific, use eq instead.

       memcpy  memcpy() is C-specific, use = instead.

       memmove memmove() is C-specific, use = instead.

       memset  memset() is C-specific, use x instead.

       mkdir   This is identical to Perl's builtin mkdir()
               function.

       mkfifo  This is similar to the C function mkfifo().

               Returns undef on failure.

       mktime  Convert date/time info to a calendar time.

               Synopsis:

                       mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = 0)

               The month (mon), weekday (wday), and yearday
               (yday) begin at zero.  I.e. January is 0, not 1;



29/Apr/1999            perl 5.005, patch 03                     9





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               Sunday is 0, not 1; January 1st is 0, not 1.  The
               year (year) is given in years since 1900.  I.e.
               The year 1995 is 95; the year 2001 is 101.
               Consult your system's mktime() manpage for details
               about these and the other arguments.

               Calendar time for December 12, 1995, at 10:30 am.

                       $time_t = POSIX::mktime( 0, 30, 10, 12, 11, 95 );
                       print "Date = ", POSIX::ctime($time_t);

               Returns undef on failure.

       modf    Return the integral and fractional parts of a
               floating-point number.

                       ($fractional, $integral) = POSIX::modf( 3.14 );


       nice    This is similar to the C function nice().

               Returns undef on failure.

       offsetof
               offsetof() is C-specific.

       open    Open a file for reading for writing.  This returns
               file descriptors, not Perl filehandles.  Use
               POSIX::close to close the file.

               Open a file read-only with mode 0666.

                       $fd = POSIX::open( "foo" );

               Open a file for read and write.

                       $fd = POSIX::open( "foo", &POSIX::O_RDWR );

               Open a file for write, with truncation.

                       $fd = POSIX::open( "foo", &POSIX::O_WRONLY | &POSIX::O_TRUNC );

               Create a new file with mode 0640.  Set up the file
               for writing.

                       $fd = POSIX::open( "foo", &POSIX::O_CREAT | &POSIX::O_WRONLY, 0640 );

               Returns undef on failure.

       opendir Open a directory for reading.

                       $dir = POSIX::opendir( "/tmp" );
                       @files = POSIX::readdir( $dir );
                       POSIX::closedir( $dir );



29/Apr/1999            perl 5.005, patch 03                    10





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               Returns undef on failure.

       pathconf
               Retrieves the value of a configurable limit on a
               file or directory.

               The following will determine the maximum length of
               the longest allowable pathname on the filesystem
               which holds /tmp.

                       $path_max = POSIX::pathconf( "/tmp", &POSIX::_PC_PATH_MAX );

               Returns undef on failure.

       pause   This is similar to the C function pause().

               Returns undef on failure.

       perror  This is identical to the C function perror().

       pipe    Create an interprocess channel.  This returns file
               descriptors like those returned by POSIX::open.

                       ($fd0, $fd1) = POSIX::pipe();
                       POSIX::write( $fd0, "hello", 5 );
                       POSIX::read( $fd1, $buf, 5 );


       pow     Computes $x raised to the power $exponent.

                       $ret = POSIX::pow( $x, $exponent );


       printf  Prints the specified arguments to STDOUT.

       putc    putc() is C-specific--use print instead.

       putchar putchar() is C-specific--use print instead.

       puts    puts() is C-specific--use print instead.

       qsort   qsort() is C-specific, use sort instead.

       raise   Sends the specified signal to the current process.

       rand    rand() is non-portable, use Perl's rand instead.

       read    Read from a file.  This uses file descriptors such
               as those obtained by calling POSIX::open.  If the
               buffer $buf is not large enough for the read then
               Perl will extend it to make room for the request.

                       $fd = POSIX::open( "foo", &POSIX::O_RDONLY );
                       $bytes = POSIX::read( $fd, $buf, 3 );



29/Apr/1999            perl 5.005, patch 03                    11





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               Returns undef on failure.

       readdir This is identical to Perl's builtin readdir()
               function.

       realloc realloc() is C-specific.

       remove  This is identical to Perl's builtin unlink()
               function.

       rename  This is identical to Perl's builtin rename()
               function.

       rewind  Seeks to the beginning of the file.

       rewinddir
               This is identical to Perl's builtin rewinddir()
               function.

       rmdir   This is identical to Perl's builtin rmdir()
               function.

       scanf   scanf() is C-specific--use <> and regular
               expressions instead.

       setgid  Sets the real group id for this process.

       setjmp  setjmp() is C-specific: use eval {} instead.

       setlocale
               Modifies and queries program's locale.

               The following will set the traditional UNIX system
               locale behavior (the second argument "C").

                       $loc = POSIX::setlocale( &POSIX::LC_ALL, "C" );

               The following will query (the missing second
               argument) the current LC_CTYPE category.

                       $loc = POSIX::setlocale( &POSIX::LC_CTYPE);

               The following will set the LC_CTYPE behaviour
               according to the locale environment variables (the
               second argument "").  Please see your systems the
               setlocale(3) manpage documentation for the locale
               environment variables' meaning or consult the
               perllocale manpage.

                       $loc = POSIX::setlocale( &POSIX::LC_CTYPE, "");

               The following will set the LC_COLLATE behaviour to
               Argentinian Spanish. NOTE: The naming and
               availability of locales depends on your operating



29/Apr/1999            perl 5.005, patch 03                    12





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               system. Please consult the perllocale manpage for
               how to find out which locales are available in
               your system.

                       $loc = POSIX::setlocale( &POSIX::LC_ALL, "es_AR.ISO8859-1" );


       setpgid This is similar to the C function setpgid().

               Returns undef on failure.

       setsid  This is identical to the C function setsid().

       setuid  Sets the real user id for this process.

       sigaction
               Detailed signal management.  This uses
               POSIX::SigAction objects for the action and
               oldaction arguments.  Consult your system's
               sigaction manpage for details.

               Synopsis:

                       sigaction(sig, action, oldaction = 0)

               Returns undef on failure.

       siglongjmp
               siglongjmp() is C-specific: use die instead.

       sigpending
               Examine signals that are blocked and pending.
               This uses POSIX::SigSet objects for the sigset
               argument.  Consult your system's sigpending
               manpage for details.

               Synopsis:

                       sigpending(sigset)

               Returns undef on failure.

       sigprocmask
               Change and/or examine calling process's signal
               mask.  This uses POSIX::SigSet objects for the
               sigset and oldsigset arguments.  Consult your
               system's sigprocmask manpage for details.

               Synopsis:

                       sigprocmask(how, sigset, oldsigset = 0)

               Returns undef on failure.




29/Apr/1999            perl 5.005, patch 03                    13





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       sigsetjmp
               sigsetjmp() is C-specific: use eval {} instead.

       sigsuspend
               Install a signal mask and suspend process until
               signal arrives.  This uses POSIX::SigSet objects
               for the signal_mask argument.  Consult your
               system's sigsuspend manpage for details.

               Synopsis:

                       sigsuspend(signal_mask)

               Returns undef on failure.

       sin     This is identical to Perl's builtin sin()
               function.

       sinh    This is identical to the C function sinh().

       sleep   This is identical to Perl's builtin sleep()
               function.

       sprintf This is identical to Perl's builtin sprintf()
               function.

       sqrt    This is identical to Perl's builtin sqrt()
               function.

       srand   srand().

       sscanf  sscanf() is C-specific--use regular expressions
               instead.

       stat    This is identical to Perl's builtin stat()
               function.

       strcat  strcat() is C-specific, use .= instead.

       strchr  strchr() is C-specific, use index() instead.

       strcmp  strcmp() is C-specific, use eq instead.

       strcoll This is identical to the C function strcoll().

       strcpy  strcpy() is C-specific, use = instead.

       strcspn strcspn() is C-specific, use regular expressions
               instead.

       strerror
               Returns the error string for the specified errno.





29/Apr/1999            perl 5.005, patch 03                    14





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       strftime
               Convert date and time information to string.
               Returns the string.

               Synopsis:

                       strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)

               The month (mon), weekday (wday), and yearday
               (yday) begin at zero.  I.e. January is 0, not 1;
               Sunday is 0, not 1; January 1st is 0, not 1.  The
               year (year) is given in years since 1900.  I.e.,
               the year 1995 is 95; the year 2001 is 101.
               Consult your system's strftime() manpage for
               details about these and the other arguments.  The
               given arguments are made consistent by calling
               mktime() before calling your system's strftime()
               function.

               The string for Tuesday, December 12, 1995.

                       $str = POSIX::strftime( "%A, %B %d, %Y", 0, 0, 0, 12, 11, 95, 2 );
                       print "$str\n";


       strlen  strlen() is C-specific, use length instead.

       strncat strncat() is C-specific, use .= instead.

       strncmp strncmp() is C-specific, use eq instead.

       strncpy strncpy() is C-specific, use = instead.

       stroul  stroul() is C-specific.

       strpbrk strpbrk() is C-specific.

       strrchr strrchr() is C-specific, use rindex() instead.

       strspn  strspn() is C-specific.

       strstr  This is identical to Perl's builtin index()
               function.

       strtod  String to double translation. Returns the parsed
               number and the number of characters in the
               unparsed portion of the string.  Truly
               POSIX-compliant systems set $! ($ERRNO) to
               indicate a translation error, so clear $! before
               calling strtod.  However, non-POSIX systems may
               not check for overflow, and therefore will never
               set $!.

               strtod should respect any POSIX setlocale()



29/Apr/1999            perl 5.005, patch 03                    15





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               settings.

               To parse a string $str as a floating point number
               use

                   $! = 0;
                   ($num, $n_unparsed) = POSIX::strtod($str);

               The second returned item and $! can be used to
               check for valid input:

                   if (($str eq '') || ($n_unparsed != 0) || !$!) {
                       die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
                   }

               When called in a scalar context strtod returns the
               parsed number.

       strtok  strtok() is C-specific.

       strtol  String to (long) integer translation.  Returns the
               parsed number and the number of characters in the
               unparsed portion of the string.  Truly
               POSIX-compliant systems set $! ($ERRNO) to
               indicate a translation error, so clear $! before
               calling strtol.  However, non-POSIX systems may
               not check for overflow, and therefore will never
               set $!.

               strtol should respect any POSIX setlocale()
               settings.

               To parse a string $str as a number in some base
               $base use

                   $! = 0;
                   ($num, $n_unparsed) = POSIX::strtol($str, $base);

               The base should be zero or between 2 and 36,
               inclusive.  When the base is zero or omitted
               strtol will use the string itself to determine the
               base: a leading "0x" or "0X" means hexadecimal; a
               leading "0" means octal; any other leading
               characters mean decimal.  Thus, "1234" is parsed
               as a decimal number, "01234" as an octal number,
               and "0x1234" as a hexadecimal number.

               The second returned item and $! can be used to
               check for valid input:

                   if (($str eq '') || ($n_unparsed != 0) || !$!) {
                       die "Non-numeric input $str" . $! ? ": $!\n" : "\n";
                   }




29/Apr/1999            perl 5.005, patch 03                    16





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               When called in a scalar context strtol returns the
               parsed number.

       strtoul String to unsigned (long) integer translation.
               strtoul is identical to strtol except that strtoul
               only parses unsigned integers.  See strtol for
               details.

               Note: Some vendors supply strtod and strtol but
               not strtoul.  Other vendors that do suply strtoul
               parse "-1" as a valid value.

       strxfrm String transformation.  Returns the transformed
               string.

                       $dst = POSIX::strxfrm( $src );


       sysconf Retrieves values of system configurable variables.

               The following will get the machine's clock speed.

                       $clock_ticks = POSIX::sysconf( &POSIX::_SC_CLK_TCK );

               Returns undef on failure.

       system  This is identical to Perl's builtin system()
               function.

       tan     This is identical to the C function tan().

       tanh    This is identical to the C function tanh().

       tcdrain This is similar to the C function tcdrain().

               Returns undef on failure.

       tcflow  This is similar to the C function tcflow().

               Returns undef on failure.

       tcflush This is similar to the C function tcflush().

               Returns undef on failure.

       tcgetpgrp
               This is identical to the C function tcgetpgrp().

       tcsendbreak
               This is similar to the C function tcsendbreak().

               Returns undef on failure.





29/Apr/1999            perl 5.005, patch 03                    17





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       tcsetpgrp
               This is similar to the C function tcsetpgrp().

               Returns undef on failure.

       time    This is identical to Perl's builtin time()
               function.

       times   The times() function returns elapsed realtime
               since some point in the past (such as system
               startup), user and system times for this process,
               and user and system times used by child processes.
               All times are returned in clock ticks.

                   ($realtime, $user, $system, $cuser, $csystem) = POSIX::times();

               Note: Perl's builtin times() function returns four
               values, measured in seconds.

       tmpfile Use method IO::File::new_tmpfile() instead.

       tmpnam  Returns a name for a temporary file.

                       $tmpfile = POSIX::tmpnam();


       tolower This is identical to Perl's builtin lc() function.

       toupper This is identical to Perl's builtin uc() function.

       ttyname This is identical to the C function ttyname().

       tzname  Retrieves the time conversion information from the
               tzname variable.

                       POSIX::tzset();
                       ($std, $dst) = POSIX::tzname();


       tzset   This is identical to the C function tzset().

       umask   This is identical to Perl's builtin umask()
               function.

       uname   Get name of current operating system.

                       ($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();


       ungetc  Use method IO::Handle::ungetc() instead.

       unlink  This is identical to Perl's builtin unlink()
               function.




29/Apr/1999            perl 5.005, patch 03                    18





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       utime   This is identical to Perl's builtin utime()
               function.

       vfprintf
               vfprintf() is C-specific.

       vprintf vprintf() is C-specific.

       vsprintf
               vsprintf() is C-specific.

       wait    This is identical to Perl's builtin wait()
               function.

       waitpid Wait for a child process to change state.  This is
               identical to Perl's builtin waitpid() function.

                       $pid = POSIX::waitpid( -1, &POSIX::WNOHANG );
                       print "status = ", ($? / 256), "\n";


       wcstombs
               This is identical to the C function wcstombs().

       wctomb  This is identical to the C function wctomb().

       write   Write to a file.  This uses file descriptors such
               as those obtained by calling POSIX::open.

                       $fd = POSIX::open( "foo", &POSIX::O_WRONLY );
                       $buf = "hello";
                       $bytes = POSIX::write( $b, $buf, 5 );

               Returns undef on failure.

CLASSES
       POSIX::SigAction


       new     Creates a new POSIX::SigAction object which
               corresponds to the C struct sigaction.  This
               object will be destroyed automatically when it is
               no longer needed.  The first parameter is the
               fully-qualified name of a sub which is a signal-
               handler.  The second parameter is a POSIX::SigSet
               object, it defaults to the empty set.  The third
               parameter contains the sa_flags, it defaults to 0.

                       $sigset = POSIX::SigSet->new(SIGINT, SIGQUIT);
                       $sigaction = POSIX::SigAction->new( 'main::handler', $sigset, &POSIX::SA_NOCLDSTOP );

               This POSIX::SigAction object should be used with
               the POSIX::sigaction() function.




29/Apr/1999            perl 5.005, patch 03                    19





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       POSIX::SigSet


       new     Create a new SigSet object.  This object will be
               destroyed automatically when it is no longer
               needed.  Arguments may be supplied to initialize
               the set.

               Create an empty set.

                       $sigset = POSIX::SigSet->new;

               Create a set with SIGUSR1.

                       $sigset = POSIX::SigSet->new( &POSIX::SIGUSR1 );


       addset  Add a signal to a SigSet object.

                       $sigset->addset( &POSIX::SIGUSR2 );

               Returns undef on failure.

       delset  Remove a signal from the SigSet object.

                       $sigset->delset( &POSIX::SIGUSR2 );

               Returns undef on failure.

       emptyset
               Initialize the SigSet object to be empty.

                       $sigset->emptyset();

               Returns undef on failure.

       fillset Initialize the SigSet object to include all
               signals.

                       $sigset->fillset();

               Returns undef on failure.

       ismember
               Tests the SigSet object to see if it contains a
               specific signal.

                       if( $sigset->ismember( &POSIX::SIGUSR1 ) ){
                               print "contains SIGUSR1\n";
                       }







29/Apr/1999            perl 5.005, patch 03                    20





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       POSIX::Termios


       new     Create a new Termios object.  This object will be
               destroyed automatically when it is no longer
               needed.  A Termios object corresponds to the
               termios C struct.  new() mallocs a new one,
               getattr() fills it from a file descriptor, and
               setattr() sets a file descriptor's parameters to
               match Termios' contents.

                       $termios = POSIX::Termios->new;


       getattr Get terminal control attributes.

               Obtain the attributes for stdin.

                       $termios->getattr()

               Obtain the attributes for stdout.

                       $termios->getattr( 1 )

               Returns undef on failure.

       getcc   Retrieve a value from the c_cc field of a termios
               object.  The c_cc field is an array so an index
               must be specified.

                       $c_cc[1] = $termios->getcc(1);


       getcflag
               Retrieve the c_cflag field of a termios object.

                       $c_cflag = $termios->getcflag;


       getiflag
               Retrieve the c_iflag field of a termios object.

                       $c_iflag = $termios->getiflag;


       getispeed
               Retrieve the input baud rate.

                       $ispeed = $termios->getispeed;


       getlflag
               Retrieve the c_lflag field of a termios object.




29/Apr/1999            perl 5.005, patch 03                    21





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


                       $c_lflag = $termios->getlflag;


       getoflag
               Retrieve the c_oflag field of a termios object.

                       $c_oflag = $termios->getoflag;


       getospeed
               Retrieve the output baud rate.

                       $ospeed = $termios->getospeed;


       setattr Set terminal control attributes.

               Set attributes immediately for stdout.

                       $termios->setattr( 1, &POSIX::TCSANOW );

               Returns undef on failure.

       setcc   Set a value in the c_cc field of a termios object.
               The c_cc field is an array so an index must be
               specified.

                       $termios->setcc( &POSIX::VEOF, 1 );


       setcflag
               Set the c_cflag field of a termios object.

                       $termios->setcflag( $c_cflag | &POSIX::CLOCAL );


       setiflag
               Set the c_iflag field of a termios object.

                       $termios->setiflag( $c_iflag | &POSIX::BRKINT );


       setispeed
               Set the input baud rate.

                       $termios->setispeed( &POSIX::B9600 );

               Returns undef on failure.

       setlflag
               Set the c_lflag field of a termios object.

                       $termios->setlflag( $c_lflag | &POSIX::ECHO );




29/Apr/1999            perl 5.005, patch 03                    22





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


       setoflag
               Set the c_oflag field of a termios object.

                       $termios->setoflag( $c_oflag | &POSIX::OPOST );


       setospeed
               Set the output baud rate.

                       $termios->setospeed( &POSIX::B9600 );

               Returns undef on failure.

       Baud rate values
               B38400 B75 B200 B134 B300 B1800 B150 B0 B19200
               B1200 B9600 B600 B4800 B50 B2400 B110

       Terminal interface values
               TCSADRAIN TCSANOW TCOON TCIOFLUSH TCOFLUSH TCION
               TCIFLUSH TCSAFLUSH TCIOFF TCOOFF

       c_cc field values
               VEOF VEOL VERASE VINTR VKILL VQUIT VSUSP VSTART
               VSTOP VMIN VTIME NCCS

       c_cflag field values
               CLOCAL CREAD CSIZE CS5 CS6 CS7 CS8 CSTOPB HUPCL
               PARENB PARODD

       c_iflag field values
               BRKINT ICRNL IGNBRK IGNCR IGNPAR INLCR INPCK
               ISTRIP IXOFF IXON PARMRK

       c_lflag field values
               ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH
               TOSTOP

       c_oflag field values
               OPOST

PATHNAME CONSTANTS
       Constants
               _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON
               _PC_MAX_INPUT _PC_NAME_MAX _PC_NO_TRUNC
               _PC_PATH_MAX _PC_PIPE_BUF _PC_VDISABLE

POSIX CONSTANTS
       Constants
               _POSIX_ARG_MAX _POSIX_CHILD_MAX
               _POSIX_CHOWN_RESTRICTED _POSIX_JOB_CONTROL
               _POSIX_LINK_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT
               _POSIX_NAME_MAX _POSIX_NGROUPS_MAX _POSIX_NO_TRUNC
               _POSIX_OPEN_MAX _POSIX_PATH_MAX _POSIX_PIPE_BUF
               _POSIX_SAVED_IDS _POSIX_SSIZE_MAX



29/Apr/1999            perl 5.005, patch 03                    23





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


               _POSIX_STREAM_MAX _POSIX_TZNAME_MAX
               _POSIX_VDISABLE _POSIX_VERSION

SYSTEM CONFIGURATION
       Constants
               _SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK
               _SC_JOB_CONTROL _SC_NGROUPS_MAX _SC_OPEN_MAX
               _SC_SAVED_IDS _SC_STREAM_MAX _SC_TZNAME_MAX
               _SC_VERSION

ERRNO
       Constants
               E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT
               EAGAIN EALREADY EBADF EBUSY ECHILD ECONNABORTED
               ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ EDOM
               EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
               EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP
               EMFILE EMLINK EMSGSIZE ENAMETOOLONG ENETDOWN
               ENETRESET ENETUNREACH ENFILE ENOBUFS ENODEV ENOENT
               ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC ENOSYS
               ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY
               ENXIO EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM
               EPROTONOSUPPORT EPROTOTYPE ERANGE EREMOTE ERESTART
               EROFS ESHUTDOWN ESOCKTNOSUPPORT ESPIPE ESRCH
               ESTALE ETIMEDOUT ETOOMANYREFS ETXTBSY EUSERS
               EWOULDBLOCK EXDEV

FCNTL
       Constants
               FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_OK
               F_RDLCK F_SETFD F_SETFL F_SETLK F_SETLKW F_UNLCK
               F_WRLCK O_ACCMODE O_APPEND O_CREAT O_EXCL O_NOCTTY
               O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY

FLOAT
       Constants
               DBL_DIG DBL_EPSILON DBL_MANT_DIG DBL_MAX
               DBL_MAX_10_EXP DBL_MAX_EXP DBL_MIN DBL_MIN_10_EXP
               DBL_MIN_EXP FLT_DIG FLT_EPSILON FLT_MANT_DIG
               FLT_MAX FLT_MAX_10_EXP FLT_MAX_EXP FLT_MIN
               FLT_MIN_10_EXP FLT_MIN_EXP FLT_RADIX FLT_ROUNDS
               LDBL_DIG LDBL_EPSILON LDBL_MANT_DIG LDBL_MAX
               LDBL_MAX_10_EXP LDBL_MAX_EXP LDBL_MIN
               LDBL_MIN_10_EXP LDBL_MIN_EXP

LIMITS
       Constants
               ARG_MAX CHAR_BIT CHAR_MAX CHAR_MIN CHILD_MAX
               INT_MAX INT_MIN LINK_MAX LONG_MAX LONG_MIN
               MAX_CANON MAX_INPUT MB_LEN_MAX NAME_MAX
               NGROUPS_MAX OPEN_MAX PATH_MAX PIPE_BUF SCHAR_MAX
               SCHAR_MIN SHRT_MAX SHRT_MIN SSIZE_MAX STREAM_MAX
               TZNAME_MAX UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX




29/Apr/1999            perl 5.005, patch 03                    24





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)


LOCALE
       Constants
               LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY LC_NUMERIC
               LC_TIME

MATH
       Constants
               HUGE_VAL

SIGNAL
       Constants
               SA_NOCLDSTOP SA_NOCLDWAIT SA_NODEFER SA_ONSTACK
               SA_RESETHAND SA_RESTART SA_SIGINFO SIGABRT SIGALRM
               SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT
               SIGKILL SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM
               SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2 SIG_BLOCK
               SIG_DFL SIG_ERR SIG_IGN SIG_SETMASK SIG_UNBLOCK

STAT
       Constants
               S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU
               S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP
               S_IXOTH S_IXUSR

       Macros  S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG

STDLIB
       Constants
               EXIT_FAILURE EXIT_SUCCESS MB_CUR_MAX RAND_MAX

STDIO
       Constants
               BUFSIZ EOF FILENAME_MAX L_ctermid L_cuserid
               L_tmpname TMP_MAX

TIME
       Constants
               CLK_TCK CLOCKS_PER_SEC

UNISTD
       Constants
               R_OK SEEK_CUR SEEK_END SEEK_SET STDIN_FILENO
               STDOUT_FILENO STRERR_FILENO W_OK X_OK

WAIT
       Constants
               WNOHANG WUNTRACED

       Macros  WIFEXITED WEXITSTATUS WIFSIGNALED WTERMSIG
               WIFSTOPPED WSTOPSIG

CREATION
       This document generated by ./mkposixman.PL version
       19960129.



29/Apr/1999            perl 5.005, patch 03                    25





lib::POSIX(3p)   Perl Programmers Reference Guide  lib::POSIX(3p)



























































29/Apr/1999            perl 5.005, patch 03                    26


