# Built-in Functions by Category The same built-ins as in [the alphabetical index](perlfunc), grouped here by problem domain. A function may appear under more than one category: categories are a tag set, not a tree. Every link points at the same detail page regardless of which category the reader arrived through. ## SCALARs and strings - [**`chomp`**](perlfunc/chomp) — Strip the trailing input record separator from a string in place. - [**`chop`**](perlfunc/chop) — Remove the last character from a string and return it. - [**`chr`**](perlfunc/chr) — Return the character whose codepoint is the given number. - [**`crypt`**](perlfunc/crypt) — One-way `passwd(5)`-style hashing of a plaintext string with a salt. - [**`fc`**](perlfunc/fc) — Return the Unicode casefolded form of a string for case-insensitive comparison. - [**`hex`**](perlfunc/hex) — Interpret a string as a hexadecimal numeral and return its numeric value. - [**`index`**](perlfunc/index) — Find the position of a substring inside a string. - [**`lc`**](perlfunc/lc) — Return a lowercased copy of a string. - [**`lcfirst`**](perlfunc/lcfirst) — Return a copy of a string with its first character lowercased. - [**`length`**](perlfunc/length) — Return the number of characters in a string. - [**`oct`**](perlfunc/oct) — Interpret a string as a number written in octal, hexadecimal, or binary, and return the resulting integer. - [**`ord`**](perlfunc/ord) — Return the Unicode code point of the first character of a string. - [**`pack`**](perlfunc/pack) — Convert a list of Perl values into a binary string according to a template. - [**`q//`**](perlfunc/q) — Single-quoted string literal with a choice of delimiter. - [**`qq//`**](perlfunc/qq) — Build a double-quoted, interpolated string with a delimiter you pick. - [**`reverse`**](perlfunc/reverse) — Reverse a list — or, in scalar context, reverse the characters of a string. - [**`rindex`**](perlfunc/rindex) — Find the position of the **last** occurrence of a substring inside a string. - [**`sprintf`**](perlfunc/sprintf) — Build a formatted string from a format template and a list of values. - [**`substr`**](perlfunc/substr) — Extract, replace, or alias a contiguous slice of a string. - [**`tr///`**](perlfunc/tr) — Character-by-character substitution. `tr` scans a string and replaces every occurrence of a character from `SEARCHLIST` with the positionally corresponding character from `REPLACEMENTLIST`, returning the count of characters it touched. - [**`uc`**](perlfunc/uc) — Return an uppercased copy of a string. - [**`ucfirst`**](perlfunc/ucfirst) — Return a copy of a string with its first character titlecased. - [**`y///`**](perlfunc/y) — Transliterate characters in a string. `y///` is a synonym for [`tr///`](perlfunc/tr) — the two are identical in every respect. ## Regular expressions and pattern matching - [**`m//`**](perlfunc/m) — Search a string for a pattern and report whether — and what — it matched. - [**`pos`**](perlfunc/pos) — Report or set where the next `/g` regex match will resume in a string. - [**`qr//`**](perlfunc/qr) — Compile a pattern once and hand back a reusable regex object. - [**`quotemeta`**](perlfunc/quotemeta) — Return a copy of a string with every regex-significant character backslash-escaped, so the result can be interpolated into a pattern and match its own literal content. - [**`s///`**](perlfunc/s) — Search a string for a pattern and replace every match with a replacement. - [**`split`**](perlfunc/split) — Cut a string into a list of fields using a regex separator. - [**`study`**](perlfunc/study) — A no-op retained for source compatibility with older Perl code. ## Numeric functions - [**`abs`**](perlfunc/abs) — Return the absolute value of a number. - [**`atan2`**](perlfunc/atan2) — Arc tangent of `Y/X` in the range -π to π. - [**`cos`**](perlfunc/cos) — Return the cosine of a number given in radians. - [**`exp`**](perlfunc/exp) — Raise *e* to a power. - [**`hex`**](perlfunc/hex) — Interpret a string as a hexadecimal numeral and return its numeric value. - [**`int`**](perlfunc/int) — Return the integer portion of a number, truncating toward zero. - [**`log`**](perlfunc/log) — Return the natural logarithm (base *e*) of a number. - [**`oct`**](perlfunc/oct) — Interpret a string as a number written in octal, hexadecimal, or binary, and return the resulting integer. - [**`rand`**](perlfunc/rand) — Return a pseudo-random floating-point number in the half-open range `[0, EXPR)`. - [**`sin`**](perlfunc/sin) — Return the sine of a number given in radians. - [**`sqrt`**](perlfunc/sqrt) — Return the non-negative square root of `EXPR`. - [**`srand`**](perlfunc/srand) — Seed the pseudo-random number generator. ## Arrays - [**`each`**](perlfunc/each) — Step through a hash or array one entry at a time. - [**`keys`**](perlfunc/keys) — List all keys of a hash, or all indices of an array. - [**`pop`**](perlfunc/pop) — Remove and return the last element of an array. - [**`push`**](perlfunc/push) — Append one or more values to the end of an array. - [**`shift`**](perlfunc/shift) — Remove and return the first element of an array. - [**`splice`**](perlfunc/splice) — Remove and/or replace a slice of an array in place, and return the removed elements. - [**`unshift`**](perlfunc/unshift) — Prepend one or more values to the start of an array and return the array's new length. - [**`values`**](perlfunc/values) — List every value of a hash (or every element of an array). ## Lists - [**`all`**](perlfunc/all) — Test whether `BLOCK` returns true for **every** element of `LIST`. - [**`any`**](perlfunc/any) — Return true if `BLOCK` yields true for at least one element of `LIST`. - [**`grep`**](perlfunc/grep) — Filter a list to the elements where the block or expression is true. - [**`join`**](perlfunc/join) — Concatenate a list of strings with a separator between each adjacent pair, and return the single resulting string. - [**`map`**](perlfunc/map) — Apply a block or expression to each element of a list and return the flattened results. - [**`qw//`**](perlfunc/qw) — Build a list of barewords by splitting a delimited string on whitespace, without quoting or comma-separating each word. - [**`reverse`**](perlfunc/reverse) — Reverse a list — or, in scalar context, reverse the characters of a string. - [**`sort`**](perlfunc/sort) — Sort a list, returning the sorted list. - [**`unpack`**](perlfunc/unpack) — Extract typed values from a binary or fixed-width string according to a template. ## Hashes - [**`delete`**](perlfunc/delete) — Remove the named key-value pair(s) from a hash, or element(s) from an array, and return what was removed. - [**`each`**](perlfunc/each) — Step through a hash or array one entry at a time. - [**`exists`**](perlfunc/exists) — Test whether a hash or array element, or a named subroutine, is present — without creating it and without caring what it holds. - [**`keys`**](perlfunc/keys) — List all keys of a hash, or all indices of an array. - [**`values`**](perlfunc/values) — List every value of a hash (or every element of an array). ## I/O - [**`binmode`**](perlfunc/binmode) — Set the I/O layer stack on a filehandle — typically to make it deliver raw bytes, or to attach a character encoding. - [**`close`**](perlfunc/close) — Close a filehandle, flush its buffers, and release the underlying file descriptor. - [**`closedir`**](perlfunc/closedir) — Close a directory handle opened by [`opendir`](perlfunc/opendir). - [**`dbmclose`**](perlfunc/dbmclose) — Break the binding between a DBM file and a hash previously attached by [`dbmopen`](perlfunc/dbmopen). - [**`dbmopen`**](perlfunc/dbmopen) — Bind a DBM file on disk to a hash so hash reads and writes become lookups and stores in the database. - [**`die`**](perlfunc/die) — Raise an exception. - [**`eof`**](perlfunc/eof) — Test a filehandle for end-of-file. - [**`fileno`**](perlfunc/fileno) — Return the OS-level file descriptor number behind a filehandle. - [**`flock`**](perlfunc/flock) — Place an advisory lock on an open file. - [**`format`**](perlfunc/format) — Declare a picture-based report template for use by [`write`](perlfunc/write). - [**`getc`**](perlfunc/getc) — Read the next single character from a filehandle. - [**`print`**](perlfunc/print) — Write a list of values to a filehandle. - [**`printf`**](perlfunc/printf) — Write a formatted string to a filehandle. - [**`read`**](perlfunc/read) — Read a fixed amount of buffered input from a filehandle into a scalar. - [**`readdir`**](perlfunc/readdir) — Read the next entry, or all remaining entries, from a directory handle opened by [`opendir`](perlfunc/opendir). - [**`readline`**](perlfunc/readline) — Read one or more records from a filehandle. - [**`rewinddir`**](perlfunc/rewinddir) — Reset a directory handle to the start of its listing. - [**`say`**](perlfunc/say) — Print a list of values followed by a newline. - [**`seek`**](perlfunc/seek) — Reposition a filehandle for random-access reads or writes. - [**`seekdir`**](perlfunc/seekdir) — Restore a directory handle to a position previously captured by [`telldir`](perlfunc/telldir). - [**`select`**](perlfunc/select) — Either set the default output filehandle, or call the `select(2)` syscall for I/O multiplexing. Same name, two unrelated jobs — disambiguated by argument count. - [**`syscall`**](perlfunc/syscall) — Invoke a raw system call by its kernel number, passing the remaining arguments as `int` or as a pointer to a string buffer. - [**`sysread`**](perlfunc/sysread) — Read raw bytes from a filehandle by calling the underlying `read(2)` system call. - [**`sysseek`**](perlfunc/sysseek) — Reposition a filehandle at the system level, bypassing PerlIO buffering. - [**`syswrite`**](perlfunc/syswrite) — Write bytes to a filehandle with the raw `write(2)` system call, bypassing Perl's buffered I/O. - [**`tell`**](perlfunc/tell) — Return the current byte position of a filehandle. - [**`telldir`**](perlfunc/telldir) — Return the current read position of a directory handle as an opaque token. - [**`truncate`**](perlfunc/truncate) — Shorten (or extend) a file to an exact byte length. - [**`warn`**](perlfunc/warn) — Emit a warning to `STDERR`. - [**`write`**](perlfunc/write) — Render one record to a filehandle through its associated [`format`](perlfunc/format). ## Fixed-length data - [**`pack`**](perlfunc/pack) — Convert a list of Perl values into a binary string according to a template. - [**`read`**](perlfunc/read) — Read a fixed amount of buffered input from a filehandle into a scalar. - [**`syscall`**](perlfunc/syscall) — Invoke a raw system call by its kernel number, passing the remaining arguments as `int` or as a pointer to a string buffer. - [**`sysread`**](perlfunc/sysread) — Read raw bytes from a filehandle by calling the underlying `read(2)` system call. - [**`sysseek`**](perlfunc/sysseek) — Reposition a filehandle at the system level, bypassing PerlIO buffering. - [**`syswrite`**](perlfunc/syswrite) — Write bytes to a filehandle with the raw `write(2)` system call, bypassing Perl's buffered I/O. - [**`unpack`**](perlfunc/unpack) — Extract typed values from a binary or fixed-width string according to a template. - [**`vec`**](perlfunc/vec) — Read or write a fixed-width slot inside a string treated as a packed bit vector. ## Filehandles, files, directories - [**`chdir`**](perlfunc/chdir) — Change the process's current working directory. - [**`chmod`**](perlfunc/chmod) — Change the permission bits of a list of files. - [**`chown`**](perlfunc/chown) — Change the owner and group of a list of files. - [**`chroot`**](perlfunc/chroot) — Change the root directory of the current process and every child it later spawns. - [**`fcntl`**](perlfunc/fcntl) — Perform a `fcntl(2)` file-control operation on a filehandle. - [**`glob`**](perlfunc/glob) — Expand a shell-style filename pattern into the list of matching paths. - [**`ioctl`**](perlfunc/ioctl) — Perform a device-control `ioctl(2)` system call on a filehandle. - [**`link`**](perlfunc/link) — Create a hard link from `NEWFILE` to the existing `OLDFILE`. - [**`lstat`**](perlfunc/lstat) — Return the 13-element status list for a path **without** following a symbolic link. - [**`mkdir`**](perlfunc/mkdir) — Create a single directory on the filesystem. - [**`open`**](perlfunc/open) — Associate a filehandle with a file, a command, or an in-memory scalar. - [**`opendir`**](perlfunc/opendir) — Open a directory for reading. - [**`readlink`**](perlfunc/readlink) — Return the target path a symbolic link points to. - [**`rename`**](perlfunc/rename) — Change the name of a file. - [**`rmdir`**](perlfunc/rmdir) — Remove an empty directory. - [**`select`**](perlfunc/select) — Either set the default output filehandle, or call the `select(2)` syscall for I/O multiplexing. Same name, two unrelated jobs — disambiguated by argument count. - [**`stat`**](perlfunc/stat) — Get a file's status information. - [**`symlink`**](perlfunc/symlink) — Create a symbolic link at `NEWFILE` that points at the string `OLDFILE`. - [**`sysopen`**](perlfunc/sysopen) — Open a file the low-level way, passing an integer `MODE` bitmask straight through to the underlying [`open(2)`](../Fcntl) system call. - [**`umask`**](perlfunc/umask) — Set or read the process file-creation mode mask. - [**`unlink`**](perlfunc/unlink) — Remove one or more directory entries that name files. - [**`utime`**](perlfunc/utime) — Set access and modification times on a list of files. ## Control flow - [**`__FILE__`**](perlfunc/__FILE__) — The name of the source file the token is compiled in. - [**`__LINE__`**](perlfunc/__LINE__) — A compile-time token that evaluates to the line number at which it appears in the source. - [**`__PACKAGE__`**](perlfunc/__PACKAGE__) — Return the name of the package currently in effect at the point where the token appears. - [**`__SUB__`**](perlfunc/__SUB__) — Return a reference to the currently executing subroutine. - [**`break`**](perlfunc/break) — Break out of a `given` block. - [**`caller`**](perlfunc/caller) — Return information about the subroutine, [`eval`](perlfunc/eval), or [`require`](perlfunc/require) that called the currently executing code. - [**`catch`**](perlfunc/catch) — Handle an exception thrown by a preceding [`try`](perlfunc/try) block. - [**`continue`**](perlfunc/continue) — Attach a block to a loop that runs after every iteration, just before the condition is re-tested. - [**`defer`**](perlfunc/defer) — Schedule a block to run when the enclosing scope exits, for any reason. - [**`die`**](perlfunc/die) — Raise an exception. - [**`do`**](perlfunc/do) — Execute a block of code or run a Perl source file as if it were part of the current program. - [**`dump`**](perlfunc/dump) — Cause the running program to produce a core dump immediately. - [**`eval`**](perlfunc/eval) — Run a piece of Perl code with any fatal error trapped instead of killing the program. - [**`evalbytes`**](perlfunc/evalbytes) — Compile and run a string of Perl source, forcing the source to be interpreted as **bytes** rather than characters. - [**`exit`**](perlfunc/exit) — Terminate the program with a status value. - [**`finally`**](perlfunc/finally) — Run cleanup code on the way out of a `try`/`catch`, whether the body succeeded, threw, or jumped away. - [**`goto`**](perlfunc/goto) — Transfer execution elsewhere in the program without returning. - [**`last`**](perlfunc/last) — Exit a loop immediately, skipping the rest of the body and the [`continue`](perlfunc/continue) block. - [**`method`**](perlfunc/method) — Declare a named instance method inside a [`class`](perlfunc/class) block. - [**`next`**](perlfunc/next) — Start the next iteration of the enclosing loop immediately. - [**`redo`**](perlfunc/redo) — Restart the current iteration of a loop without re-testing the condition and without running the [`continue`](perlfunc/continue) block. - [**`return`**](perlfunc/return) — Leave the current subroutine, [`eval`](perlfunc/eval), `do FILE`, [`sort`](perlfunc/sort) block, or regex eval block, yielding a value to the caller. - [**`sub`**](perlfunc/sub) — Declare or define a subroutine. - [**`try`**](perlfunc/try) — Run a block and divert any exception it throws into a `catch` block, with an optional `finally` block that always runs on the way out. - [**`wantarray`**](perlfunc/wantarray) — Report the calling context of the currently executing subroutine. ## Scoping - [**`caller`**](perlfunc/caller) — Return information about the subroutine, [`eval`](perlfunc/eval), or [`require`](perlfunc/require) that called the currently executing code. - [**`class`**](perlfunc/class) — Declare a namespace that behaves as a native object class. - [**`field`**](perlfunc/field) — Declare a per-instance variable inside a [`class`](perlfunc/class) block. - [**`import`**](perlfunc/import) — Populate the caller's namespace with names a module chooses to export. - [**`local`**](perlfunc/local) — Save the current value of a package variable and restore it when the enclosing scope exits. - [**`my`**](perlfunc/my) — Declare one or more lexically scoped variables. - [**`our`**](perlfunc/our) — Declare a lexically scoped alias to a package variable. - [**`package`**](perlfunc/package) — Declare the compile-time namespace for the declarations that follow. - [**`state`**](perlfunc/state) — Declare a lexically scoped variable whose value persists across calls to its enclosing subroutine. - [**`use`**](perlfunc/use) — Load a module at compile time and import its symbols into the current package. ## Misc - [**`defined`**](perlfunc/defined) — Test whether a value, variable, or subroutine is defined. - [**`formline`**](perlfunc/formline) — Format a list of values into a picture string and append the result to the format accumulator [`$^A`](perlvar). - [**`lock`**](perlfunc/lock) — Place an advisory lock on a shared variable, array, hash, or subroutine until the lock goes out of scope. - [**`prototype`**](perlfunc/prototype) — Return the prototype string of a subroutine, or [`undef`](perlfunc/undef) if it has none. - [**`reset`**](perlfunc/reset) — Clear every package variable whose name begins with one of a set of letters, and re-arm one-shot [`m?pattern?`](perlfunc/m) matches. - [**`scalar`**](perlfunc/scalar) — Force `EXPR` to be evaluated in scalar context and return its value. - [**`undef`**](perlfunc/undef) — The undefined value, and the operator that produces it. ## Processes - [**`alarm`**](perlfunc/alarm) — Schedule a `SIGALRM` to be delivered to the current process after a whole number of wallclock seconds. - [**`exec`**](perlfunc/exec) — Abandon this program and run another in the same process. - [**`fork`**](perlfunc/fork) — Create a new process running the same program at the same point. - [**`getpgrp`**](perlfunc/getpgrp) — Return the POSIX process-group ID that a process belongs to. - [**`getppid`**](perlfunc/getppid) — Return the process ID of the current process's parent. - [**`getpriority`**](perlfunc/getpriority) — Return the current scheduling nice value of a process, a process group, or a user. - [**`kill`**](perlfunc/kill) — Send a signal to a list of processes. - [**`pipe`**](perlfunc/pipe) — Open a pair of connected filehandles — one for reading, one for writing. - [**`qx//`**](perlfunc/qx) — Run a shell command and capture its standard output. - [**`readpipe`**](perlfunc/readpipe) — Run a shell command and return its standard output. - [**`setpgrp`**](perlfunc/setpgrp) — Set the process group of a process. - [**`setpriority`**](perlfunc/setpriority) — Set the scheduling priority (nice value) of a process, process group, or user. - [**`sleep`**](perlfunc/sleep) — Pause the process for a number of whole seconds. - [**`system`**](perlfunc/system) — Run a separate program and wait for it to finish. - [**`times`**](perlfunc/times) — Report CPU time consumed by this process and its terminated children. - [**`wait`**](perlfunc/wait) — Block until any child process exits and reap it. - [**`waitpid`**](perlfunc/waitpid) — Wait for a specific child process to terminate and reap it. ## Modules - [**`do`**](perlfunc/do) — Execute a block of code or run a Perl source file as if it were part of the current program. - [**`import`**](perlfunc/import) — Populate the caller's namespace with names a module chooses to export. - [**`no`**](perlfunc/no) — The compile-time inverse of [`use`](perlfunc/use) — call a module's `unimport` method to turn off what `use` turned on. - [**`package`**](perlfunc/package) — Declare the compile-time namespace for the declarations that follow. - [**`require`**](perlfunc/require) — Load a Perl source file at runtime, or demand a minimum Perl version. - [**`use`**](perlfunc/use) — Load a module at compile time and import its symbols into the current package. ## Classes and OO - [**`__CLASS__`**](perlfunc/__CLASS__) — Return the class name of the instance currently being acted on. - [**`bless`**](perlfunc/bless) — Mark the thing a reference points at as an object in a package. - [**`class`**](perlfunc/class) — Declare a namespace that behaves as a native object class. - [**`dbmclose`**](perlfunc/dbmclose) — Break the binding between a DBM file and a hash previously attached by [`dbmopen`](perlfunc/dbmopen). - [**`dbmopen`**](perlfunc/dbmopen) — Bind a DBM file on disk to a hash so hash reads and writes become lookups and stores in the database. - [**`field`**](perlfunc/field) — Declare a per-instance variable inside a [`class`](perlfunc/class) block. - [**`isa`**](perlfunc/isa) — Test whether an object is an instance of a class or of any subclass derived from it. - [**`method`**](perlfunc/method) — Declare a named instance method inside a [`class`](perlfunc/class) block. - [**`package`**](perlfunc/package) — Declare the compile-time namespace for the declarations that follow. - [**`ref`**](perlfunc/ref) — Return a string describing what a reference points to. - [**`tie`**](perlfunc/tie) — Bind a variable to a class so that every access to the variable dispatches through that class's methods. - [**`tied`**](perlfunc/tied) — Return the object backing a tied variable. - [**`untie`**](perlfunc/untie) — Break the binding between a variable and its tied class. - [**`use`**](perlfunc/use) — Load a module at compile time and import its symbols into the current package. ## Sockets - [**`accept`**](perlfunc/accept) — Accept an incoming connection on a listening socket. - [**`bind`**](perlfunc/bind) — Attach a local address to a socket. - [**`connect`**](perlfunc/connect) — Initiate a connection from a socket to a remote address. - [**`getpeername`**](perlfunc/getpeername) — Return the address of the remote end of a connected socket. - [**`getsockname`**](perlfunc/getsockname) — Return the local address of a connected or bound socket. - [**`getsockopt`**](perlfunc/getsockopt) — Read one socket option out of the kernel as an opaque packed string. - [**`listen`**](perlfunc/listen) — Mark a socket as passive so it can accept incoming connections. - [**`recv`**](perlfunc/recv) — Read an incoming message from a socket into a scalar. - [**`send`**](perlfunc/send) — Send a message on a socket. - [**`setsockopt`**](perlfunc/setsockopt) — Set a kernel-level option on an open socket. - [**`shutdown`**](perlfunc/shutdown) — Shut down one direction of a socket connection, or both. - [**`socket`**](perlfunc/socket) — Create a socket filehandle. - [**`socketpair`**](perlfunc/socketpair) — Create an unnamed, connected pair of sockets that talk to each other. ## SysV IPC - [**`msgctl`**](perlfunc/msgctl) — Perform a control operation on a System V IPC message queue. - [**`msgget`**](perlfunc/msgget) — Create or look up a System V IPC message queue and return its id. - [**`msgrcv`**](perlfunc/msgrcv) — Receive a message from a System V IPC message queue. - [**`msgsnd`**](perlfunc/msgsnd) — Send a message to a System V IPC message queue. - [**`semctl`**](perlfunc/semctl) — Perform a control operation on a System V semaphore set. - [**`semget`**](perlfunc/semget) — Create or look up a System V semaphore set and return its identifier. - [**`semop`**](perlfunc/semop) — Perform one or more System V semaphore operations atomically. - [**`shmctl`**](perlfunc/shmctl) — Control or query a System V shared memory segment. - [**`shmget`**](perlfunc/shmget) — Create or look up a System V shared memory segment and return its identifier. - [**`shmread`**](perlfunc/shmread) — Copy bytes out of a System V shared memory segment into a Perl scalar. - [**`shmwrite`**](perlfunc/shmwrite) — Copy bytes into a System V shared memory segment. ## User and group info - [**`endgrent`**](perlfunc/endgrent) — Close the group database after iterating it. - [**`endpwent`**](perlfunc/endpwent) — Close the passwd-database iterator opened by [`getpwent`](perlfunc/getpwent) or [`setpwent`](perlfunc/setpwent). - [**`getgrent`**](perlfunc/getgrent) — Read the next entry from the system group database. - [**`getgrgid`**](perlfunc/getgrgid) — Look up a group record by numeric group ID. - [**`getgrnam`**](perlfunc/getgrnam) — Look up a Unix group by name and return its `/etc/group` record. - [**`getlogin`**](perlfunc/getlogin) — Return the login name of the user associated with the controlling terminal. - [**`getpwent`**](perlfunc/getpwent) — Return the next entry from the system password database. - [**`getpwnam`**](perlfunc/getpwnam) — Look up a user's passwd record by login name. - [**`getpwuid`**](perlfunc/getpwuid) — Look up a user's passwd record by numeric UID. - [**`setgrent`**](perlfunc/setgrent) — Rewind the group-database iterator back to the first entry. - [**`setpwent`**](perlfunc/setpwent) — Rewind the password-database iterator so the next [`getpwent`](perlfunc/getpwent) call returns the first entry again. ## Network info - [**`endhostent`**](perlfunc/endhostent) — Close the hosts database after iteration. - [**`endnetent`**](perlfunc/endnetent) — Close the networks database after iteration. - [**`endprotoent`**](perlfunc/endprotoent) — Close the protocols database after iteration. - [**`endservent`**](perlfunc/endservent) — Close the services database after a walk with [`getservent`](perlfunc/getservent). - [**`gethostbyaddr`**](perlfunc/gethostbyaddr) — Look up a host record by its packed IP address. - [**`gethostbyname`**](perlfunc/gethostbyname) — Look up a host record by DNS name. - [**`gethostent`**](perlfunc/gethostent) — Fetch the next entry from the host database. - [**`getnetbyaddr`**](perlfunc/getnetbyaddr) — Look up a network record by its numeric network address. - [**`getnetbyname`**](perlfunc/getnetbyname) — Look up a network record by name. - [**`getnetent`**](perlfunc/getnetent) — Read the next entry from the networks database. - [**`getprotobyname`**](perlfunc/getprotobyname) — Look up an IP protocol by its textual name and return its database entry. - [**`getprotobynumber`**](perlfunc/getprotobynumber) — Look up a network protocol entry by its assigned protocol number. - [**`getprotoent`**](perlfunc/getprotoent) — Fetch the next entry from the protocols database. - [**`getservbyname`**](perlfunc/getservbyname) — Look up a network service by its textual name and protocol. - [**`getservbyport`**](perlfunc/getservbyport) — Look up a network service by its numeric port and protocol. - [**`getservent`**](perlfunc/getservent) — Read the next entry from the system services database. - [**`sethostent`**](perlfunc/sethostent) — Open or rewind the hosts database for iteration. - [**`setnetent`**](perlfunc/setnetent) — Open or rewind the networks database for iteration. - [**`setprotoent`**](perlfunc/setprotoent) — Open the protocols database and prepare it for sequential reads. - [**`setservent`**](perlfunc/setservent) — Rewind the services database and optionally keep it open across lookups. ## Time - [**`gmtime`**](perlfunc/gmtime) — Convert an epoch time to a broken-down UTC time, either as a 9-element list or as a `ctime(3)`-style string. - [**`localtime`**](perlfunc/localtime) — Convert an epoch time to a broken-down calendar time in the local time zone. - [**`time`**](perlfunc/time) — Return the current wall-clock time as an integer number of seconds since the system epoch. - [**`times`**](perlfunc/times) — Report CPU time consumed by this process and its terminated children.