Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# Perl functions by category

Perl 5 version 16.0 documentation
Go to top
Show recent pages
Recently read

# Perl functions by category

Perl functions A-Z | Perl functions by category | The 'perlfunc' manpage

- Functions for SCALARs or strings
- Regular expressions and pattern matching
- Numeric functions
- Functions for real @ARRAYs
- Functions for list data
- Functions for real %HASHes
- Input and output functions
- Functions for fixed length data or records
- Functions for filehandles, files, or directories
- Keywords related to control flow of your perl program
- Keywords altering or affecting scoping of identifiers
- Miscellaneous functions
- Functions for processes and process groups
- Keywords related to perl modules
- Keywords related to classes and object-orientedness
- Low-level socket functions
- System V interprocess communication functions
- Fetching user and group info
- Fetching network info
- Time-related functions

## Functions for SCALARs or strings

- chomp - remove a trailing record separator from a string
- chop - remove the last character from a string
- chr - get character this number represents
- crypt - one-way passwd-style encryption
- hex - convert a string to a hexadecimal number
- index - find a substring within a string
- lc - return lower-case version of a string
- lcfirst - return a string with just the next letter in lower case
- length - return the number of bytes in a string
- oct - convert a string to an octal number
- ord - find a character's numeric representation
- pack - convert a list into a binary representation
- q/STRING/ - singly quote a string
- qq/STRING/ - doubly quote a string
- reverse - flip a string or a list
- rindex - right-to-left substring search
- sprintf - formatted print into a string
- substr - get or alter a portion of a stirng
- tr/// - transliterate a string
- uc - return upper-case version of a string
- ucfirst - return a string with just the next letter in upper case
- y/// - transliterate a string

## Regular expressions and pattern matching

- m// - match a string with a regular expression pattern
- pos - find or set the offset for the last/next m//g search
- qr/STRING/ - Compile pattern
- quotemeta - quote regular expression magic characters
- s/// - replace a pattern with a string
- split - split up a string using a regexp delimiter
- study - optimize input data for repeated searches

## Numeric functions

- abs - absolute value function
- atan2 - arctangent of Y/X in the range -PI to PI
- cos - cosine function
- exp - raise I to a power
- hex - convert a string to a hexadecimal number
- int - get the integer portion of a number
- log - retrieve the natural logarithm for a number
- oct - convert a string to an octal number
- rand - retrieve the next pseudorandom number
- sin - return the sine of a number
- sqrt - square root function
- srand - seed the random number generator

## Functions for real @ARRAYs

- pop - remove the last element from an array and return it
- push - append one or more elements to an array
- shift - remove the first element of an array, and return it
- splice - add or remove elements anywhere in an array
- unshift - prepend more elements to the beginning of a list

## Functions for list data

- grep - locate elements in a list test true against a given criterion
- join - join a list into a string using a separator
- map - apply a change to a list to get back a new list with the changes
- qw/STRING/ - quote a list of words
- reverse - flip a string or a list
- sort - sort a list of values
- unpack - convert binary structure into normal perl variables

## Functions for real %HASHes

- delete - deletes a value from a hash
- each - retrieve the next key/value pair from a hash
- exists - test whether a hash key is present
- keys - retrieve list of indices from a hash
- values - return a list of the values in a hash

## Input and output functions

- binmode - prepare binary files for I/O
- close - close file (or pipe or socket) handle
- closedir - close directory handle
- dbmclose - breaks binding on a tied dbm file
- dbmopen - create binding on a tied dbm file
- die - raise an exception or bail out
- eof - test a filehandle for its end
- fileno - return file descriptor from filehandle
- flock - lock an entire file with an advisory lock
- format - declare a picture format with use by the write() function
- getc - get the next character from the filehandle
- print - output a list to a filehandle
- printf - output a formatted list to a filehandle
- read - fixed-length buffered input from a filehandle
- readdir - get a directory from a directory handle
- readline - fetch a record from a file
- rewinddir - reset directory handle
- seek - reposition file pointer for random-access I/O
- seekdir - reposition directory pointer
- select - reset default output or do I/O multiplexing
- syscall - execute an arbitrary system call
- sysread - fixed-length unbuffered input from a filehandle
- sysseek - position I/O pointer on handle used with sysread and syswrite
- syswrite - fixed-length unbuffered output to a filehandle
- tell - get current seekpointer on a filehandle
- telldir - get current seekpointer on a directory handle
- truncate - shorten a file
- warn - print debugging info
- write - print a picture record

## Functions for fixed length data or records

- pack - convert a list into a binary representation
- read - fixed-length buffered input from a filehandle
- syscall - execute an arbitrary system call
- sysread - fixed-length unbuffered input from a filehandle
- sysseek - position I/O pointer on handle used with sysread and syswrite
- syswrite - fixed-length unbuffered output to a filehandle
- unpack - convert binary structure into normal perl variables
- vec - test or set particular bits in a string

## Functions for filehandles, files, or directories

- -X - a file test (-r, -x, etc)
- chdir - change your current working directory
- chmod - changes the permissions on a list of files
- chown - change the owership on a list of files
- chroot - make directory new root for path lookups
- fcntl - file control system call
- glob - expand filenames using wildcards
- ioctl - system-dependent device control system call
- link - create a hard link in the filesytem
- lstat - stat a symbolic link
- mkdir - create a directory
- open - open a file, pipe, or descriptor
- opendir - open a directory
- readlink - determine where a symbolic link is pointing
- rename - change a filename
- rmdir - remove a directory
- stat - get a file's status information
- symlink - create a symbolic link to a file
- sysopen - open a file, pipe, or descriptor
- umask - set file creation mode mask
- unlink - remove one link to a file
- utime - set a file's last access and modify times

## Keywords related to control flow of your perl program

- caller - get context of the current subroutine call
- continue - optional trailing block in a while or foreach
- die - raise an exception or bail out
- do - turn a BLOCK into a TERM
- dump - create an immediate core dump
- eval - catch exceptions or compile and run code
- exit - terminate this program
- goto - create spaghetti code
- last - exit a block prematurely
- next - iterate a block prematurely
- prototype - get the prototype (if any) of a subroutine
- redo - start this loop iteration over again
- return - get out of a function early
- sub - declare a subroutine, possibly anonymously
- wantarray - get void vs scalar vs list context of current subroutine call

## Keywords altering or affecting scoping of identifiers

- caller - get context of the current subroutine call
- import - patch a module's namespace into your own
- local - create a temporary value for a global variable (dynamic scoping)
- my - declare and assign a local variable (lexical scoping)
- our - declare and assign a package variable (lexical scoping)
- package - declare a separate global namespace
- use - load in a module at compile time

## Miscellaneous functions

- defined - test whether a value, variable, or function is defined
- dump - create an immediate core dump
- eval - catch exceptions or compile and run code
- formline - internal function used for formats
- local - create a temporary value for a global variable (dynamic scoping)
- my - declare and assign a local variable (lexical scoping)
- our - declare and assign a package variable (lexical scoping)
- prototype - get the prototype (if any) of a subroutine
- reset - clear all variables of a given name
- scalar - force a scalar context
- undef - remove a variable or function definition
- wantarray - get void vs scalar vs list context of current subroutine call

## Functions for processes and process groups

- alarm - schedule a SIGALRM
- exec - abandon this program to run another
- fork - create a new process just like this one
- getpgrp - get process group
- getppid - get parent process ID
- getpriority - get current nice value
- kill - send a signal to a process or process group
- pipe - open a pair of connected filehandles
- qx/STRING/ - backquote quote a string
- readpipe - execute a system command and collect standard output
- setpgrp - set the process group of a process
- setpriority - set a process's nice value
- sleep - block for some number of seconds
- system - run a separate program
- times - return elapsed time for self and child processes
- wait - wait for any child process to die
- waitpid - wait for a particular child process to die

## Keywords related to perl modules

- do - turn a BLOCK into a TERM
- import - patch a module's namespace into your own
- no - unimport some module symbols or semantics at compile time
- package - declare a separate global namespace
- require - load in external functions from a library at runtime
- use - load in a module at compile time

## Keywords related to classes and object-orientedness

- bless - create an object
- dbmclose - breaks binding on a tied dbm file
- dbmopen - create binding on a tied dbm file
- package - declare a separate global namespace
- ref - find out the type of thing being referenced
- tie - bind a variable to an object class
- tied - get a reference to the object underlying a tied variable
- untie - break a tie binding to a variable
- use - load in a module at compile time

## Low-level socket functions

- accept - accept an incoming socket connect
- bind - binds an address to a socket
- connect - connect to a remote socket
- getpeername - find the other end of a socket connection
- getsockname - retrieve the sockaddr for a given socket
- getsockopt - get socket options on a given socket
- listen - register your socket as a server
- recv - receive a message over a Socket
- send - send a message over a socket
- setsockopt - set some socket options
- shutdown - close down just half of a socket connection
- socket - create a socket
- socketpair - create a pair of sockets

## System V interprocess communication functions

- msgctl - SysV IPC message control operations
- msgget - get SysV IPC message queue
- msgrcv - receive a SysV IPC message from a message queue
- msgsnd - send a SysV IPC message to a message queue
- semctl - SysV semaphore control operations
- semget - get set of SysV semaphores
- semop - SysV semaphore operations
- shmctl - SysV shared memory operations
- shmget - get SysV shared memory segment identifier
- shmread - read SysV shared memory
- shmwrite - write SysV shared memory

## Fetching user and group info

- endgrent - be done using group file
- endhostent - be done using hosts file
- endnetent - be done using networks file
- endpwent - be done using passwd file
- getgrent - get next group record
- getgrgid - get group record given group user ID
- getgrnam - get group record given group name
- getlogin - return who logged in at this tty
- getpwent - get next passwd record
- getpwnam - get passwd record given user login name
- getpwuid - get passwd record given user ID
- setgrent - prepare group file for use
- setpwent - prepare passwd file for use

## Fetching network info

- endprotoent - be done using protocols file
- endservent - be done using services file
- gethostbyaddr - get host record given its address
- gethostbyname - get host record given name
- gethostent - get next hosts record
- getnetbyaddr - get network record given its address
- getnetbyname - get networks record given name
- getnetent - get next networks record
- getprotobyname - get protocol record given name
- getprotobynumber - get protocol record numeric protocol
- getprotoent - get next protocols record
- getservbyname - get services record given its name
- getservbyport - get services record given numeric port
- getservent - get next services record
- sethostent - prepare hosts file for use
- setnetent - prepare networks file for use
- setprotoent - prepare protocols file for use
- setservent - prepare services file for use

## Time-related functions

- gmtime - convert UNIX time into record or string using Greenwich time
- localtime - convert UNIX time into record or string using local time
- time - return number of seconds since 1970
- times - return elapsed time for self and child processes