Function Reference
Contents:
Perl Functions by Category
Perl Functions in Alphabetical Order
This chapter gives a brief description of Perl's built-in functions. Each description gives the syntax of the function, with the types and order of its arguments.
Required arguments are shown in italics, separated by commas. If an argument must be a specific variable type, that variable's identifier will be used (i.e., a percent sign for a hash, %
hash
). Optional arguments are placed in brackets. Do not actually use the brackets in your function calls unless you really want to use an anonymous hash reference.
There are different ways to use a built-in function. For starters, any argument that requires a scalar value can be made up of any expression that returns one. For example, you can obtain the square root of the first value in an array:
$root = sqrt (shift @numbers);
shift
removes the first element of @numbers
and returns it to be used by sqrt
.
Many functions take a list of scalars for arguments. Any array variable or other expression that returns a list can be used for all or part of the arguments. For example:
chmod (split /,/ FILELIST>); # an expression returns a list chmod 0755, @executables; # array used for part of arguments
In the first line, the
split
expression reads a string from a filehandle and splits it into a list. The list provides proper arguments for chmod
. The second line uses an array that contains a list of filenames for chmod
to act upon.
Parentheses are not required around a function's arguments. However, without parentheses, functions are viewed as operators in an expression (the same is true of predeclared subroutines). If you use a function in a complex expression, you may want to use parentheses for clarity. See The Perl Language, for more about precedence in Perl expressions.
Perl Functions by Category
Here are Perl's functions and function-like keywords, arranged by category. Note that some functions appear under more than one heading.
- Scalar manipulation
chomp
,chop
,chr
,crypt
,hex
,index
,lc
,lcfirst
,length
,oct
,ord
,pack
,q//
,qq//
,reverse
,rindex
,sprintf
,substr
,tr///
,uc
,ucfirst
,y///
- Regular expressions and pattern matching
m//
,pos
,qr//
,quotemeta
,s///
,split
,study
- Numeric functions
abs
,atan2
,cos
,exp
,hex
,int
,log
,oct
,rand
,sin
,sqrt
,srand
- Array processing
pop
,push
,shift
,splice
,unshift
- List processing
grep
,join
,map
,qw//
,reverse
,sort
,unpack
- Hash processing
delete
,each
,exists
,keys
,values
- Input and output
-
binmode
,close
,closedir
,dbmclose
,dbmopen
,die
,eof
,fileno
,flock
,format
,getc
,print
,printf
,read
,readdir
,rewinddir
,seek
,seekdir
,select
,syscall
,sysread
,sysseek
,syswrite
,tell
,telldir
,truncate
,warn
,write
- Fixed-length data and records
pack
,read
,syscall
,sysread
,syswrite
,unpack
,vec
- Filehandles, files, and directories
chdir
,chmod
,chown
,chroot
,fcntl
,glob
,ioctl
,link
,lstat
,mkdir
,open
,opendir
,readlink
,rename
,rmdir
,stat
,symlink
,sysopen
,umask
,unlink
,utime
- Flow of program control
caller
,continue
,die
,do
,dump
,eval
,exit
,goto
,last
,next
,redo
,return
,sub
,wantarray
- Scoping
caller
,import
,local
,my
,package
,use
- Miscellaneous
defined
,dump
,eval
,formline
,local
,my
,prototype
,reset
,scalar
,undef
,wantarray
- Processes and process groups
alarm
,exec
,fork
,getpgrp
,getppid
,getpriority
,kill
,pipe
,qx//
,setpgrp
,setpriority
,sleep
,system
,times
,wait
,waitpid
- Library modules
do
,import
,no
,package
,require
,use
- Classes and objects
bless
,dbmclose
,dbmopen
,package
,ref
,tie
,tied
,untie
,use
- Low-level socket access
accept
,bind
,connect
,getpeername
,getsockname
,getsockopt
,listen
,recv
,send
,setsockopt
,shutdown
,socket
,socketpair
- System V interprocess communication
msgctl
,msgget
,msgrcv
,msgsnd
,semctl
,semget
,semop
,shmctl
,shmget
,shmread
,shmwrite
- Fetching user and group information
endgrent
,endhostent
,endnetent
,endpwent
,getgrent
,getgrgid
,getgrnam
,getlogin
,getpwent
,getpwnam
,getpwuid
,setgrent
,setpwent
- Fetching network information
endprotoent
,endservent
,gethostbyaddr
,gethostbyname
,gethostent
,getnetbyaddr
,getnetbyname
,getnetent
,getprotobyname
,getprotobynumber
,getprotoent
,getservbyname
,getservbyport
,getservent
,sethostent
,setnetent
,setprotoent
,setservent
- Time
gmtime
,localtime
,time
,times