Perl core API by category

(This is a reformatted version of this link)

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 System V IPC message control operations
msgget get System V IPC message queue
msgrcv receive a System V IPC message from a message queue
msgsnd send a System V IPC message to a message queue
semctl System V semaphore control operations
semget get set of System V semaphores
semop System V semaphore operations
shmctl System V shared memory operations
shmget get System V shared memory segment identifier
shmread read System V shared memory
shmwrite write System V 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