Perl Quick Reference
Functions
Perl has a large number of functions that come as standard with most implementations, and an even wider range of additional modules, each with its own additional functions. This chapter lists all the standard functions alphabetically for reference.
Each function is assigned a category. There are two main categories; list operators, which can take more than one argument, and named unary operators, which can only take one argument. A secondary category is noted in parentheses so you can see, at a glance, the type of operation the function performs. This is a very rough categorization, as many functions might overlap in any category scheme.
For each function the form of the arguments is listed. If there are multiple forms of calling the function, there will be multiple lines describing each form. The meanings of the arguments are described in the text.
The type of value returned by the function is listed. This is usually specified in more detail in the function description.
Two categories of functions, those dealing with sockets and those dealing with System V interprocess communications, are not dealt with in great detail. Both of these categories of function are direct counterparts of UNIX system functions.
The chapter includes
- A detailed description of each Perl function, ordered alphabetically.
- An example of the function's usage, where applicable.
-A
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value integer (age of file in days since last access relative to $BASETIME)
Definition
The file test operator takes one file handle or filename as an argument. It returns age of file in days since last access relative to $BASETIME. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
print "-A ", -A "/etc/fstab", "\n";
-B
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition1
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is binary. It returns '' (false) if the file is not binary. The first characters of the file are checked to see if the high bit is set and if a suitable number do have the high bit set the file is assumed to be binary. If the file is empty it is returned as binary. Because this test involves reading the file itself, it is best to test to learn if the file exists as a plain file (-f), first. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-B "/etc/fstab") ? print("-B fstab is binary\n") :
print("-B fstab is not binary\n");
-b
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a block special file (that is, a UNIX /dev device file). It returns '' (false) if the file is not a block special file. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-b "/dev/hda1") ? print("-b hda1 is block\n") :
print("-b hda1 is not block\n");
-C
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value integer (age of file in days since last inode change relative to $BASETIME)
Definition
The file test operator takes one file handle or filename as an argument. It returns age of file in days since last inode change relative to $BASETIME. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
print "-C ", -C "/etc/fstab", "\n";
-c
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a character special file. It returns '' (false) if the file is not a character special file. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-c "/dev/tty0") ? print("-c tty0 is char\n") :
print("-c tty0 is not char\n");
-d
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a directory. It returns '' (false) if the file is not a directory. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-d "/") ? print("-d / is dir\n") : print("-d / is not dir\n");
-e
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if file exists. It returns '' (false) if the file does not exist. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-e "/") ? print("-e / exists\n") : print("-e / exists\n");
-f
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a plain file. It returns '' (false) if the file is not a plain file. A plain file is any file that is not a special block device (-b), a special character device (-c), a directory (-d), a symbolic link (-l), a pipe (-p), a named socket (-S), or a direct link to an I/O terminal (-t). All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-f "/") ? print("-f / is plain\n") : print("-f /
is not plain\n");
-g
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file has the setgid bit set. It returns '' (false) if the file does not have the setgid bit set. In UNIX, setgid allows an executable to run as if it was being run by the group, which owns the executable itself while executing (for example, if a binary is owned by the group wwwstat, and the binary has the getgid bit set, then that binary has access to all files that the wwwstat group can access while the binary is running, even when the binary is run by someone who is not actually a member of the wwwstat group). All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-g "/vmlinuz") ? print("-g /vmlinuz has setgid\n") :
print("-g /vmlinuz has not setgid\n");
-k
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the sticky bit is set. It returns '' (false) if the sticky bit is not set. In UNIX, the sticky bit can mark an executable file to be held in memory when exited (for example, if the binary ls is marked as sticky, when the first person runs it, it is loaded from disk to memory and executed, but when the execution finishes, the binary stays in memory so that when the next person runs ls it does not need to be loaded into memory again because it is already there). This is normally set for frequently used commands to optimize execution speed. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-k "/vmlinuz") ? print("-k /vmlinuz is sticky\n") :
print("-k /vmlinuz is not sticky\n");
-l
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a symbolic link. It returns '' (false) if the file is not a symbolic link. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-l "/vmlinuz") ? print("-l /vmlinuz is symlink\n") :
print("-l /vmlinuz is not symlink\n");
-M
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value integer (age of file in days relative to $BASETIME)
Definition
The file test operator takes one file handle or filename as an argument. It returns the age of the file in days relative to $BASETIME. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
print "-M ", -M "/etc/fstab", "\n";
-O
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is owned by the real UID/GID and it returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-o "/vmlinuz") ? print("-o /vmlinuz is owned by
real uid/gid\n") :
print("-o /vmlinuz is not owned by real uid/
gid\n");
-o
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. This function returns 1 (true) if the file is owned by the effective UID/GID and it returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-O "/vmlinuz") ? print("-O /vmlinuz is owned by
effective uid/gid\n") :
print("-o /vmlinuz is not owned by effective
uid/gid\n");
-p
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a named pipe. It returns '' (false) if the file is not a named pipe. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-p "/vmlinuz") ? print("-p /vmlinuz is named
pipe\n") :
print("-p /vmlinuz is not named pipe\n");
-R
Compliance15
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is readable by the effective UID/GID and it returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-R "/vmlinuz") ? print("-R /vmlinuz is readable by
effective uid/gid\n") :
print("-R /vmlinuz is not readable by effective
uid/gid\n");
-r
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is readable by the real UID/GID and it returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-r "/vmlinuz") ? print("-r /vmlinuz is readable by
real uid/gid\n") :
print("-r /vmlinuz is not readable by real uid/
gid\n");
-S
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a symbolic link. It returns '' (false) if the file is not a symbolic link. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-S "/vmlinuz") ? print("-S /vmlinuz is socket\n") :
print("-S /vmlinuz is not socket\n");
-s
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value integer (size) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns size in bytes as an integer if the file has a non-zero size. It returns '' (false) if the file has zero size. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-s "/vmlinuz") ? print("-s /vmlinuz has non-zero
size\n") :
print("-s /vmlinuz does not have non-zero
size\n");
-T
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a text file. It returns '' (false) if the file is not a text file. The first characters of the file are checked to see if the high bit is set, and if a suitable number are not set the file is assumed to be text. If the file is empty, true is returned. Because this test involves reading the file itself, it is best to test to learn if the file exists as a plain file (-f) first. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-T "/vmlinuz") ? print("-T /vmlinuz is text
file\n") :
print("-T /vmlinuz is not text file\n");
-t
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is a terminal tty device. It returns '' (false) if the file is not. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, STDIN is used.
Example
(-t "/vmlinuz") ? print("-t /vmlinuz is tty\n") :
print("-t /vmlinuz is not tty\n");
-u
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file has the setuid bit set. It returns '' (false) if the files does not have the setuid bit set. In UNIX, setuid allows an executable to take on the UID of the user ownership of the executable itself while executing. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-u "/vmlinuz") ? print("-u /vmlinuz has suid
set\n") :
print("-u /vmlinuz does not have suid set\n");
-W
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is writable by the real UID/GID.It returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-W "/vmlinuz") ? print("-W /vmlinuz is writable by
real uid/gid\n") :
print("-W /vmlinuz is not writable by real UID/
GID\n");
-w
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is writable by the effective UID/GID. It returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-w "/vmlinuz") ? print("-w /vmlinuz is writable by
effective uid/gid\n") :
print("-l /vmlinuz is not writable by
effective uid/gid\n");
-X
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is executable by the real UID/GID. It returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-X _) ? print("-X /bin/ls is executable by real
uid/gid\n") :
print("-X /bin/ls is not executable by real
uid/gid\n");
-x
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file is executable by the effective UID/GID. It returns '' (false) otherwise. For the superuser it always returns true. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat(), or lstat() call. If no argument is supplied, $_ is used.
Example
(-x "/bin/ls") ? print("-x /bin/ls is executable by
effective uid/gid\n") :
print("-x /bin/ls is not executable by
effective uid/gid\n");
-z
Compliance
Syntax
Category named unary operator (file test) Arguments handle Arguments filename Arguments none Return Value 1 (true) '' (false)
Definition
The file test operator takes one file handle or filename as an argument. It returns 1 (true) if the file has zero size. It returns '' (false) otherwise. All file test operators can take a special argument underscore, which means that the test is carried out on the same file handle as the last file test, stat() or lstat() call. If no argument is supplied, $_ is used.
Example
(-z "/vmlinuz") ? print("-z /vmlinuz has zero size\n") :
print("-z /vmlinuz does not have zero size\n");
abs
Compliance
Syntax
Category named unary operator (numeric) Arguments numeric value Return Value numeric
Definition
This function returns the absolute value of its argument (it ignores
any sign).
Example
print("abs(-10) = ",abs(-10),"\n");
accept
Compliance
Syntax
Category list operator (socket) Arguments newsocket, genericsocket Return Value integer (address of socket), '' (false)
Definition
This function performs low-level UNIX socket call accept().
Alarm
Compliance29
Syntax
Category named unary operator (process) Arguments integer (seconds) Return Value integer (seconds to previous alarm)
Definition
This function sets up a UNIX SIGALRM signal to be generated in the number of seconds specified. It is possible for Perl to trap such signals by calling specific signal handling subroutines, such as trap(). Subseqent calls reset the alarm() time, retaining the number of seconds which were needed before the previous SIGALRM would have been generated. A call with zero seconds as an argument cancels the current alarm().
Example
print("alarm(10) ",alarm(10),
" (to illustrate it needs to trapped c.f. trap)\n");
atan2
Compliance
Syntax
Category list operator (numeric) Arguments numeric, numeric Return Value numeric
Definition
The atan2 function returns the arctangent of the arguments.
Example
print("atan2(60,2) = ",atan2(60,2),"\n");
bind
Compliance
Syntax
Category list operator (socket) Arguments sockethandle, numeric (network address) Return Value 1 (true) '' (false)
Definition
This function binds a network address to the socket handle, see the UNIX bind() call.
Binmode
Compliance
Syntax
Category named unary operator (i/o) Arguments handle Return Value 1 (success) or undefined (error)
Definition
On systems that distinguish between text and binary files, this function forces binary mode treatment of the given file handle. In systems which do make the distinction, text files have the end of line characters (Carriage Return, Linefeed) automatically translated to the UNIX end of line character (Linefeed) when reading from the file (and vice versa when writing to the file); binary mode files do not have this automatic transformation.
Example
open(FIL,"file.dat"); binmode(FIL);
bless
Compliance
Syntax
Category list operator (class) Arguments variable Arguments variable, classname Return Value reference
Definition
This function assigns a class to the referenced object. This class
is either explicitly stated in the call, or the name of the current
package is used if a second argument is not used in the call.
The reference is returned.
| Tip |
Explictly state the class (use the two argument version of the call) if the code can be inherited by other classes because the class in the single argument call would not return the required value. |
Example
$tmp = {};
bless $tmp, ATMPCLASS;
print "bless() \$tmp is now in class ",ref($tmp),"\n";
caller
Compliance
Syntax
Category named unary operator (scope) Arguments expression Arguments none Return Value 1 (true) '' (false) Return Value (package, filename, line)
Definition
This function is used to test the current scope of a subroutine call. If evaluated in a scalar context, it returns 1 or '' depending on if the current code has been called as a subroutine (this includes code which is included using a require() or an eval() call). In an array context it supplies details of the calling context in a list comprising the package name, filename, and line of the call.
Example
sub testcaller {
($package, $file, $line) = caller;
}
&testcaller;
print "caller() Package=$package File=$file Line=$line \n";
chdir
Compliance
Syntax
Category named unary operator (files) Arguments expression Arguments none Return Value 1 (true) '' (false)
Definition
This function changes the current directory to the directory specified. If no argument is given this call changes the current directory to be the home directory of the current user. It returns 1 upon success and '' otherwise.
Example
chdir("/") ? print("It worked.\n") : print("It
didn't work.\n");
chmod
Compliance
Syntax
Category list operator (files) Arguments list Return Value numeric
Definition
The first element in the list is the UNIX octal number representing the file permission. This function applies the mode specified by the octal number to all the files in the list that follows. It returns the number of files successfully modified.
Example
print "chmod() changed ",
chmod(0744,"/tmp/test1.txt","/tmp/test2.txt"),"
files.\n";
chomp
Compliance
Syntax
Category list operator (string) Arguments list Arguments variable Arguments none Return Value numeric
Definition
This is an alternative to the chop() function. It removes characters at the end of strings corresponding to the $INPUT_LINE_SEPARATOR ($/). It returns the number of characters removed. It can be given a list of strings upon which to perform this operation. When given no arguments, the operation is performed on $_.
Example
$tmp="Aaagh!\n";
$ret = chomp $tmp;
print("chomp() ", $tmp, " returned ", $ret, "\n");
chop
Compliance
Syntax
Category list operator (string) Arguments list Arguments variable Arguments none Return Value character
Definition
This function removes the last character of a string and returns that character. If given a list of arguments, the operation is performed on each one and the last character chopped is returned.
Example
$tmp = "1234";
$ret = chop $tmp;
print("chop() ", $tmp, " returned ", $ret, "\n");
| Tip |
Use chomp() (with $/ set to "\n") rather than chop() if you are unsure that the string has a trailing newline because chop() will remove the last character regardless, but chomp() only removes it if it is a newline. |
Chown
Compliance
Syntax
Category list operator (files) Arguments list Return Value numeric
Definition
This function changes the ownership of the specified files. The first two elements of the list define the user ID and the group ID to set this ownership; the subsequent items in the list are the file names that are changed. The return value is the number of files successfully changed.
Example
print("chown() ");
chown(1,1,"/tmp/test1.txt") ? print("Worked\n") : print("Didn't work\n");
chr
Compliance
Syntax
Category named unary operator (string) Arguments numeric Return Value character
Definition
This function returns the character indicated
by the numeric
argument.
Example
$E = chr(69);
print("chr() $E \n");
chroot
Compliance
Syntax
Category named unary operator (files) Arguments directoryname Arguments none Return Value 1 (true) '' (false)
Definition
This function is equivalent to the UNIX chroot()
function. Given a directoryname,
this directory is treated as the root directory by all subsequent
file system references, thus effectively hiding the rest of the
file system outside the specified directory. This restriction
applies to all subprocesses of the current process as well.
| Tip |
Normal UNIX security limits this function to the superuser, and it is normally used to make processes safer by only allowing them access to the subdirectory tree relevant to their purpose. |
Example
print("chroot() ");
chroot("/") ? print("Worked.\n") : print("Didn't
work.\n");
close
Compliance
Syntax
Category named unary operator (files) Arguments handle Return Value 1 (true) '' (false)
Definition
This function closes the file opened with the file handle. This operation flushes all buffered output. If the file handle refers to a pipe, the Perl program waits until the process being piped has finished.
Example
open(INF,"/tmp/test1.txt");
$ret = close(INF);
print("close() Returned ",$ret," on success\n");
closedir
Compliance
Syntax
Category named unary operator (file) Arguments handle Return Value 1 (true) '' (false)
Definition
This function closes the directory opened by opendir() by specifying the relevant directory handle.
Example
opendir(IND,"/tmp");
$ret = closedir(IND);
print("closedir() Returned ",$ret," on success\n");
connect
Compliance
Syntax
Category list operator (socket) Arguments socket, name Return Value 1 (true) '' (false)
Definition
This function is equivalent to the UNIX function call, which initiates a connection with a process, assuming that the process that is connected is waiting to accept.
Continue
Compliance
Syntax
Category flow control Arguments block Return Value N/A
Definition45
A continue block is a syntax structure that allows a condition to be attached to another block (normally a while block). Any statements in the continue block are evaluated before the attached block is repeated.
Example
$i=0;
print "continue() ";
while ($i<10) {
if ($i % 2)
{ print "${i}o "; next; }
else
{print "${i}e ";}
} continue {$i++}
print "\n";
cos
Compliance46
Syntax
Category named unary operator (numeric) Arguments expression Return Value numeric
Definition
This function returns the cosine value of the numeric expression supplied as an argument.
Example
print "cos() ",cos(60),"\n";
crypt
Compliance
Syntax
Category list operator Arguments string, string Return Value string
Definition
This function is equivalent to the crypt() UNIX call (where available). It encrypts a string (the first argument) using a key (usually the first two letters of the first string itself) and returns the encrypted string.
Example
print "crypt() Password PA: ",crypt("Password","PA"),"\n";
dbmclose
Compliance
Syntax
Category named unary operator (i/o) Arguments arrayname Return Value 1 (true) '' (false)
Definition
This function undoes the linking of an associative array to a
DBM file (see dbmopen()).
| Note |
This is depreciated in Perl 5, use untie() instead. |
Dbmopen
Compliance
Syntax
Category list operator (i/o) Arguments arrayname, dbname, mode Return Value fatal error if dbm not supported (Perl 4)
Definition
This function links the associative array referred to by arrayname,
to the DBM database (or equivalent) referred to by dbname
(this name should not include the suffix). If the database does
not exist, a new one with the specified mode will be opened (the
mode being an octal chmod()
style file protection).
| Note |
This is depreciated in Perl 5, use tie() instead. |
Defined
Compliance
Syntax
Category named unary operator (misc) Arguments expression Return Value 1 (true) '' (false)
Definition
This function returns a Boolean value depending on whether the argument is defined or not. There is a subtle distinction between an undefined and a defined null value. Some functions return undefined null to indicate errors, while others return a defined null to indicate a particular result (use a comparison with the null string to test for this, rather than using defined())
Example
@iexist = (1,2,3);
print("defined() The array \@iexist ");
defined @iexist ? print("exists.\n") : print("does
not exist.\n");
delete
Compliance
Syntax
Category named unary operator (hash) Arguments expression Return Value value
Definition51
Use this function to delete an element from a hash array, given the key for the element to delete, returning the value of the deleted element.
Example
%Hash = (1, One, 2, Two, 3, Three);
print("delete() Deleted ",delete($Hash{1}),"\n");
die
Compliance
Syntax
Category list operator (i/o) Arguments list Return Value errorlevel
Definition
This function terminates execution of the Perl script when called printing the value of the list argument to STDERR (as if called with print(STDERR, list)). The exit value is the current value of $OS_ERROR ($!), which may have been set by a previous function. If this has a value of zero it returns $CHILD_ERROR ($?). If this is zero, it exits with errorlevel 255. If the error message string specified by the list does not end in a newline, the text "at $PROGRAM_NAME at line line, where line is the line number of the Perl script.
Example
die("die() Now we can give an example of
die()...exiting");
do
Compliance
Syntax
Category (flow) Arguments block Arguments subroutine(list) Arguments expression Return Value special
Definition
This is a syntax structure that allows repeated execution of a block of statements. The value returned is the result of the last statement in the block. Normally an exit condition is supplied after the block. The second form where the argument is subroutine() is a depreciated form. The third form executes the contents of the file name specified by the expression (but it is better to use use() or require() instead, because this has better error checking).
Example
$i=1;
print("do ");
$return = do {
print $i, " ";
$i++;
} until $i==3;
print("Returned $return\n");
dump
Compliance
Syntax
Category named unary operator (misc) Arguments label Return Value N/A
Definition
This function causes the program to create a binary image core dump. This then allows the dumped image to be reloaded using the undump() function (if supported) which can effectively allow the use of precompiled Perl images. When reloaded, the program begins execution from the label specified. It is possible to set up a program which initializes data structures to dump() after the initialization so that execution is faster when reloading the dumped image.
Each
Compliance
Syntax
Category named unary operator (hash) Arguments variable Return Value key, value
Definition
This function allows iteration over the elements in an associative array. Each time it is evaluated, it returns another list of two elements (a key, value pair from the associative array). When all the elements have been returned, it returns a null list.
Example
%NumberWord = (1, One, 2, Two, 3, Three);
print("each() ");
while (($number,$wordform)=each(%NumberWord)) {
print("$number:$wordform ");
}
print("\n");
endgrent
Compliance
Syntax
Category (system files) Arguments none Return Value 1 (true) '' (false)
Definition
This function closes the /etc/group file used by getgrent() and other group related functions. It is equivalent to the UNIX system call.
Example
($name,$pw,$gid,@members)=getgrent();
$returned = endgrent();
print("endgrent() Closes /etc/group [$name,$gid]",
" file returning $returned.\n");
endhostent
Compliance
Syntax
Category (system files) Arguments none Return Value 1 (true) '' (false)
Definition
This function closes the TCP socket used by name server queries gethostbyname() and host related functions. It is equivalent to the UNIX system call.
Example
$host = gethostbyname("lynch");
$returned = endhostent();
print("endhostent() Closes /etc/hosts [$host]",
" returning $returned.\n");
endnetent
Compliance
Syntax
Category (system files) Arguments none Return Value 1 (true) '' (false)
Definition
This function closes the /etc/networks file used by getnetent() and network related functions. This function is equivalent to the UNIX system call.
Example
($name,$alias,$net,$net) = getnetent();
$returned = endnetent();
print("endnetent() Closes /etc/networks [$name]",
" returning $returned.\n");
endprotoent
Compliance
Syntax
Category (system files) Arguments none Return Value 1 (true) '' (false)
Definition
This function closes the /etc/protocols
file used by getprotoent()
and protocol related functions. It is equivalent
to the UNIX system call.
Example
($name, $alias, $protocol) = getprotoent();
$returned = endprotoent();
print("endprotoent() Closes /etc/protocols ",
"[$name,$alias,$protocol] file returning $returned.\n");
endpwent
Compliance
Syntax
Category (system files) Arguments none Return Value 1 (true) '' (false)
Definition
This function closes the /etc/passwd file used by getpwent() and password related functions. It is equivalent to the UNIX system call.
Example
($name,$pass,$uid,$gid,$quota,$name,$gcos,$logindir,$shell)
= getpwent();
$returned = endpwent();
print("endpwent() Closes /etc/passwd [$logindir,$shell] ",
"file returning $returned.\n");
endservent
Compliance
Syntax
Category (system files) Arguments none Return Value 1 (true) '' (false)
Definition
This function closes the /etc/servers file used by getservent() and related functions. It is equivalent to the UNIX system call.
Example
($name,$aliases,$port,$protocol) = getservent();
$returned = endservent();
print("endservent() Closes /etc/servers [$name]",
" file returning $returned.\n");
eof
Compliance
Syntax62
Category named unary operator (i/o) Arguments handle Arguments () Arguments none Return Value 1 (true) '' (false)
Definition
This function tests if the file pointer to file specified by the file handle is at the and of the file. This is done by reading the next character and then undoing this operation (so is only suitable on files where this can be done safely). If no argument is supplied the file tested is the last file that was read. If the empty list is supplied then this tests if all the last file suppiled an argument to the Perl script are eof() (that is, it can be used as a termination condition in a while loop).
Example
open INF, "/tmp/test1.txt";
if (eof INF)
{print "eof() TRUE\n";}
else
{print "eof() FALSE\n";}
close INF;
eval
Compliance
Syntax
Category named unary operator (flow) Arguments expression Arguments block Arguments none Return Value special
Definition
This function treats the expression like a Perl program and executes
it returning the return value
of the last statement executed. As the context of this execution
is the same as that of the script itself, variable definitions
and subroutine definitions persist. Syntax errors and runtime
errors (including die())
are trapped and an undefined result is returned. If such an error
does occur, $EVAL_ERROR ($@)
is set. If no errors are found, $@
is equal to a defined null string. If no expression is supplied,
$_ is the default argument.
If the block syntax is used, the expressions in the block are
evaluated only once within the script, which may be more efficient
for certain situations.
| Tip |
eval() traps possible error conditions that would otherwise crash a program. Therefore, it can be used to test if certain features are available that would cause runtime errors if used when not available. |
Example
$ans = 3;
eval "$ans = ;";
if ($@ eq "")
{print "eval() returned success.\n";}
else
{print "eval() error: $@";}
exec
Compliance
Syntax
Category list operator (process) Arguments list Return Value N/A
Definition
This function passes control from the script to an external system command. There is no retain from this call so there is no return value. Note that system() calls external commands and does return to the next line in the calling Perl program.
This is equivalent to the UNIX system call execvp().
Example
exec("cat /etc/motd");
exists
Compliance
Syntax
Category named unary operator (hash) Arguments expression Return Value 1 (true) '' (false)
Definition
This function tests if a given key value exists in an associative array, returning a Boolean value.
Example
%test = ( One, 1, Two, 2);
if (exists $test{One})
{print "exists() returned success.\n";}
else
{print "exists() returned an error.\n";}
exit
Compliance
Syntax
Category named unary operator (flow) Arguments expression Arguments none Return Value value
Definition
This function evaluates the expression given as an argument and exits the program with that error. The default value for the error is 0 if no argument is supplied. Note that die() allows an error message.
Example
exit(16);
exp
Compliance
Syntax
Category named unary operator (numeric) Arguments expression Arguments none Return Value numeric
Definition
This function returns the natural log base (e) to the power of expression (or of $_ if none specified).
Example
print "exp() e**1 is ",exp(1),"\n";
fcntl
Compliance
Syntax
Category list operator (i/o) Arguments handle, function, packed_parameters
Definition
This function is equivalent to the UNIX fnctl() call. In Perl 5, use the fntcl module. In Perl 4, there should be some mechanism for linking the Perl functions to the system functions. This is usually executed when Perl is installed.
Fileno
Compliance
Syntax
Category named unary operator (i/o) Arguments handle Return Value descriptor
Definition
This function returns the file descriptor given a file handle.
Example
print("fileno() ",fileno(INF),"\n");
flock
Compliance
Syntax
Category list operator (i/o) Arguments handle, operation Return Value 1 (true) '' (false)
Definition
This calls the UNIX flock() function to access file locks. The handle is a Perl file handle. The operation is any valid flock() operation: place exclusive lock, place shared lock, and unlock. These operations are represented by numeric values.
Fork
Compliance
Syntax
Category (process) Arguments none Return Value pid
Definition
The fork function calls the UNIX fork() function or equivalent to fork a subprocess at this point. Returns the process ID (pid) of the child process to the calling process; returns 0 to the child process itself. The calling program should wait() on any child process it forks to avoid creating zombie processes.
Example
$pid = fork;
# Child only prints this
if ($pid != 0) {
print("fork() Forking a process duplicates o/p: $pid \n");
}
waitpid($pid,0);
# Child exits here
if ($$ != $origpid) { die; }
format
Compliance
Syntax
Category list operator (i/o) Arguments format
Definition
This function declares an output format specification. These formats are used in conjunction with the write() function to control the output of variables and text to conform to a standard layout structure. Normally, the specification includes some variables, specifying how many characters to output and whether to justify these left, right or centered. When write() is called, the actual values of the variables are used. This is useful for printing simple text reports and tables. The format specification itself is terminated by a period on a line by itself. The specification itself is in pairs of lines, the first describing the layout, and the second describing the variables to use in this layout.
Example
format STDOUT =
format() @>>>>>>> @>>>>>>> @>>>>>>>
$t1, $t2, $t3
.
$t1 = One;
$t2 = Two;
$t3 = 3;
write;
formline
Compliance
Syntax
Category list operator (i/o) Arguments picture, list
Definition
This function is not usually called explictly (it is an implicit part of the format mechanism). It allows direct manipulation of the format process by adding values to the format accumulator ($^A).
Example
$tmp = formline <<'FINISH', Alpha, Beta, Gamma; formline() @>>>>>> @>>>>>> @>>>>>> FINISH print $^A;
getc
Compliance
Syntax
Category named unary operator (i/o) Arguments handle Arguments none Return Value character
Definition
This function returns the next character in specified file handle. The file defaults to STDIN if none is specified. If there are no more characters, null is returned.
Example
open INF, "/etc/motd"; print "getc() ",getc(INF),"\n"; close INF;
getgrent
Compliance
Syntax
Category list operator (system files) Arguments none Return Value name
Definition
This returns the next group name (or undefined) in the /etc/group system file. In a list context, it returns extra information taken from this file (or null list). This function is equivalent to the UNIX system call getgrent().
Example
($name,$pw,$gid,@members)=getgrent();
print("getgrent() Examines /etc/group [$name,$gid] file.\n");
getgrgid
Compliance
Syntax
Category named unary operator (system files) Arguments gid Return Value name
Definition
This function returns the next group name (or undefined) in the /etc/group system file with the supplied group ID (gid). In a list context, it returns extra information taken from this file (or null list). Equivalent to the UNIX system call getgrgid().
Example
($grname,$grpw,$gid,@members) = getgrgid(0);
print("getgrgid() Returns group name given GID [$grname]\n");
getgrname
Compliance
Syntax
Category named unary operator (system files) Arguments name Return Value gid
Definition
This function returns the next group ID, gid, (or undefined) in the /etc/group system file with the supplied group name. In a list context, it returns extra information taken from this file (or null list). It is equivalent to the UNIX system call getgrname().
Example
($grname,$grpw,$gid,@members) = getgrnam("root");
print("getgrnam() Returns group GID given name [$gid]\n");
gethostbyaddr
Compliance
Syntax
Category named unary operator (system files) Arguments address Return Value name
Definition
It returns the host name, (or undefined) in the /etc/hosts system file (or via a Domain Name Server lookup) with the supplied host address. In a list context, The function returns extra information taken from this file (or null list). It is equivalent to the UNIX system call gethostbyaddr().
Example (Perl 5 only)
use Socket;
@a=(140,203,7,103);
$addr=pack('C4',@a);
($name,$alias,$adrtype,$length,@address)=gethostbyaddr($addr,AF_INET);
print("gethostbyaddr() [$alias].\n");
gethostbyname
Compliance
Syntax
Category named unary operator (system files) Arguments name Return Value address
Definition
This function returns the host address, (or undefined) in the /etc/hosts system file (or via a Domain Name Server lookup) with the supplied host name. In a list context, it returns extra information taken from this file (or null list). This function is equivalent to the UNIX system call gethostbyname().
Example
($name,$alias,$adrtype,$length,@address)=gethostbyname("lynch");
print("gethostbyname() [$alias].\n");
gethostent
Compliance
Syntax
Category (system files) Arguments none Return Value name
Definition
gethostent returns the next host name, (or undefined) in the /etc/hosts system file (or via a Domain Name Server lookup). In a list context, it returns extra information taken from this file (or null list). This function is equivalent to the UNIX system call gethostent().
Example
($name,$alias,$adrtype,$length,@address)=gethostbyname("lynch");
print("gethostent() [$alias].\n");
getlogin
Compliance
Syntax
Category (system files) Arguments none Return Value name
Definition
This function returns the current login name from the /etc/utmp system file.
Example
print ("getlogin() ",getlogin(),"\n");
getnetbyaddr
Compliance
Syntax
Category (system files) Arguments address Return Value name
Definition
getnetbyaddr returns the network name from the /etc/networks system file given a network address. In a list context, it returns extra information from this file. This function is equivalent to UNIX's getnetbyaddr() call.
Example
($name,$alias,$addrtype,$net) = getnetent();
($name,$alias,$addrtype,$net) = getnetbyaddr($net,$addrtype);
print("getnetbyaddr() Reads /etc/networks [$name]\n");
getnetbyname
Compliance
Syntax
Category named unary operator (system files) Arguments name Return Value address
Definition
Returns the network address from the /etc/networks system file, given a network name. In a list context returns extra information from this file. Equivalent to the UNIX getnetbyname() call.
Example
($name,$alias,$addrtype,$net) = getnetbyname("localnet");
print("getnetbyname() Reads /etc/networks [$name]\n");
getnetent
Compliance
Syntax
Category (system files) Arguments none Return Value name
Definition
This function returns the next network name from the /etc/networks system file. In a list context, it returns extra information from this file. getnetent is equivalent to the UNIX getnetent() call.
Example
($name,$alias,$addrtype,$net) = getnetent();
print("getnetent() Reads /etc/networks [$name,$addrtype]\n");
getpeername
Compliance
Syntax
Category named unary operator (socket) Arguments socket Return Value name
Definition
getpeername is equivalent to the UNIX system getpeername() system call.
getpgrp
Compliance
Syntax
Category named unary operator (process) Arguments pid Return Value gid
Definition
This function returns the group ID (gid) of the process with the process ID (pid).
Example
print("getpgrp() ",getpgrp(0),"\n");
getppid
Compliance
Syntax
Category (process) Arguments none Return Value pid
Definition
getppid returns the process ID (pid) of the parent process of the current process.
Example
print("getppid() ",getppid(),"\n");
getpriority
Compliance
Syntax
Category list operator (process) Arguments type, id Return Value priority
Definition
This function calls the UNIX getpriority() function. The type is one of PRIO_PROCESS, PRIO_PGGRP, and PRIO_USER. The id is the relevant ID for this (pid for PRIO_PROCESS, pid for PRIO_PGGRP, uid for PRIO_USER). If zero is used as the id, the current process, process group, or user is used.
Example
print("getpriority() ",getpriority(0,0),"\n");
getprotobyname
Compliance
Syntax
Category named unary operator (system files) Arguments name Return Value protocol
Definition
This function returns the protocol number from the /etc/protocols system file, given the protocol name. In a list context, it returns extra information from this file. getprotobyname is equivalent to the UNIX getprotobyname() call.
Example
($name, $alias, $protocol) = getprotobyname("IP");
print("getprotobyname() /etc/protocols [$name,$alias,$protocol].\n");
getprotobynumber
Compliance
Syntax
Category named unary operator (system files) Arguments protocol Return Value name
Definition
This function returns the protocol name from the /etc/protocols system file, given the protocol number. In a list context, it returns extra information from this file. getprotobynumber is equivalent to the UNIX getprotobynumber() call.
Example
($name, $alias, $protocol) = getprotobynumber(0);
print("getprotobynumber() /etc/protocols [$name,$alias,$protocol].\n");
getprotoent
Compliance
Syntax
Category (system files) Arguments none Return Value name
Definition
This returns the next protocol name from the /etc/protocols system file. In a list context, it returns extra information from this file. This function is equivalent to UNIX's getprotoent() call.
Example
($name, $alias, $protocol) = getprotoent();
print("getprotoent() Closes /etc/protocols [$name,$alias,$protocol].\n");
getpwent
Compliance
Syntax
Category (system files) Arguments none Return Value name
Definition
getpwent returns the user name from the next entry in the /etc/passwd system file. In a list context, it returns extra information from this file. This function is equivalent to the UNIX getpwent() call.
Example
($name,$pass,$uid,$gid,$quota,$name,$gcos,$logindir,$shell) = getpwent();
print("getpwent() /etc/passwd [$logindir,$shell].\n");
getpwnam
Compliance
Syntax
Category named unary operator (system files) Arguments name Return Value uid
Definition
This function returns the user ID (uid) from the /etc/passwd system file given the user name. In a list context, it returns extra information from this file. It is equivalent to the UNIX getpwnam() call.
Example
($name,$pass,$uid,$gid,$quota,$name,$gcos,$logindir,$shell)
= getpwnam("root");
print("getpwnam() /etc/passwd [$logindir,$shell].\n");
getpwuid
Compliance
Syntax
Category named unary operator (system files) Arguments uid Return Value name
Definition
getpwiud returns the user name from the /etc/passwd system file given the user ID (uid). In a list context, getpwuid returns extra information from this file. This function is equivalent to the UNIX getpwnam() call.
Example
($name,$pass,$uid,$gid,$quota,$name,$gcos,$logindir,$shell)
= getpwuid(0);
print("getpwuid() /etc/passwd [$logindir,$shell].\n");
getservbyname
Compliance
Syntax
Category list operator (system files) Arguments name, protocol Return Value port
Definition
getservbyname returns the port number of the service from the /etc/services system file given the service name and the protocol name. In a list context, it returns extra information from this file. This function is equivalent to UNIX's getservbyname() call.
Example
($name,$aliases,$port,$protocol) = getservbyname("tcpmux","tcp");
print("getservbyname() /etc/servers [$name].\n");
getservbyport
Compliance
Syntax
Category list operator (system files) Arguments port, protocol Return Value name
Definition
getservbyport returns the service name of the service from the /etc/services system file given the port number and the protocol name. In a list context, it returns extra information from this file. It is equivalent to the UNIX getservbyport() call.
Example
($name,$aliases,$port,$protocol) = getservbyport(512,"tcp");
print("getservbyport() Problem with this! [$name]\n");
getservent
Compliance
Syntax
Category (system files) Arguments none Return Value name
Definition
This function returns the next service name of the service from the /etc/services system file. In a list context, it returns extra information from this file. It is equivalent to the UNIX getservet() call.
Example
($name,$aliases,$port,$protocol) = getservent();
print("getservent() /etc/servers [$name].\n");
getsockname
Compliance
Syntax
Category named unary operator (socket) Arguments socket Return Value address
Definition
This function returns the address of the socket.
getsockopt
Compliance
Syntax
Category list operator (socket) Arguments socket, level, optionname Return Value option
Definition
This function is equivalent to the UNIX getsockopt() system call and returns the socket option requested. However, if an error has happened, the function's return is undefined.
glob
Compliance
Syntax
Category named unary operator (files) Arguments expression Return Value list
Definition
This function returns the list of files resulting from expanding the expression with any wildcards. This is equivalent to <*.*>.
Example
@files = glob("/tmp/*.txt");
print "glob() ",$files[1],"\n";
gmtime
Compliance
Syntax
Category named unary operator (time) Arguments expression Arguments none Return Value list
Definition
Given a time as an argument (measured in seconds since 1 Jan. 1970), gmtime returns a list of nine elements with that time broken down into seconds, minutes, hours, day of month, month, year, day of week, day of year, daylight saving enabled (daylight saving enabled is either 1 for on or 0 for off). If no argument is used, the current time is reported. If the system supports POSIX time zones, the time returned is localized for the Greenwich Mean Time.
In a scalar context, the ctime() style output (a string describing the time in readable form) is returned.
Example
($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst) = gmtime(); print "gmtime() 19$year-$mon-$mday\n";
goto
Compliance
Syntax
Category (flow) Arguments label Arguments expression Arguments &name Return Value N/A
Definition
The first form transfers control flow in the program to the specified label. The second allows the evaluation of an expression to supply the label name to transfer control to. The third form is a way of passing control from one subroutine to another subroutine so that, to the original caller, it appears that the second subroutine was called directly.
Example
print "goto ";
$count = 1;
TESTGOTO: {
print $count, " ";
$label = "TESTGOTO";
if ($count < 2) {
$count++;
goto $label;
}
else {
goto FINISH;}
}
FINISH: print "\n";
grep
Compliance
Syntax
Category list operator (lists) Arguments expression, list Arguments block, list Return Value list
Definition
This function evaluates the expression or block for each of the elements in the supplied list, returning a list of the elements that were evaulated as true. The most common use for this is with a pattern match operation as the expression, and a list of strings to be processed.
Example
@a = ("One","Two","Three","Four","Five");
print("grep(), ",grep(/^T.*/,@a), "\n");
hex
Compliance
Syntax
Category named unary operator (numeric) Arguments expression Return Value numeric
Definition
This function evaluates the expression as a hexadecimal string and returns the decimal equivalent.
Example
print("hex() ",hex("ff"), "\n");
import
Compliance
Syntax
Category list operator (scope) Arguments list Return Value 1 (true) '' (false)
Definition
In the Perl 5 module system, each module has a local import() method. This is called when use() includes modules.
index
Compliance
Syntax
Category list operator (string) Arguments string substring Arguments string substring position Return Value position
Definition
index returns the position in the supplied string where the substring first occurs. If a position is supplied as an argument, the search begins at this element (thus repeated calls can find all occurrences if the found position is passed back as the argument to the subsequent calls). If the substring is not found, the return value is -1. All array element numbers are based on $[, which is normally set to zero. If this value is altered it will change the way index() works. This is because index will start its search from $[ if no position argument is supplied, and it will return $[-1 when there is no match found.
Example
$ans1 = index("abcdefghijiklmdef:-)","def");
$ans2 = index("abcdefghijiklmdef","def",$ans1+3);
print("index() def is at $ans1 and next at $ans2\n");
int
Compliance
Syntax
Category named unary operator (numeric) Arguments expression Arguments none Return Value integer
Definition
This function returns the integer part of the expression. It uses $_ as the argument if none is specified.
Example
print("int() ",int(345.678), "\n");
ioctl
Compliance
Syntax
Category list operator (files) Arguments handle, function, parameter Return Value numeric
Definition
This function calls the UNIX ioctl() function with the specified packed parameter. It returns undefined if the operating system returns -1. It returns the string 0 but true if the operating system returns 0. Otherwise, it returns the value returned by the operating system.
join
Compliance
Syntax
Category list operator (lists) Arguments expression, list Return Value string
Definition
This function returns the string comprising each element in the list joined with the string expression.
Example
@listone = (0, 1, 2, 3);
print("join() ",join("-",@listone),"\n");
keys
Compliance
Syntax
Category named unary operator (hash) Arguments array Return Value list
Definition
This function returns a list comprising each key in the associative array passed as a parameter. In a scalar context, the number of keys is returned. The returned list is ordered by the internal storage requirements, so it is often useful to sort this array before processing.
Example
%assocone = (
One, 1,
Two, 2,
Three, 3,
Four, 4
);
print("keys() ",join("-",keys(%assocone)),"\n");
kill
Compliance
Syntax
Category list operator (process) Arguments signal, list Return Value 1 (true) '' (false)
Definition
This function kills the processes with the PIDs in the supplied list by sending the signal level specified. If the signal level is negative, the process groups are killed.
last
Compliance
Syntax
Category (flow) Arguments label Arguments none Return Value N/A
Definition
This causes control to exit the loop specified by label (or the innermost loop if none is specified).
Example
i=1;
print("last() ");
loop: while (I<10) {
last loop if i=3;
print(i);
}
print("\n");
lc
Compliance
Syntax
Category named unary operator (string) Arguments expression Return Value string
Definition
This function returns the lowercase version of any supplied expression.
Example
print"lc() ",lc("ABCDef"), "\n";
lcfirst
Compliance
Syntax
Category named unary operator (string) Arguments expression Return Value string
Definition
This function returns the string with the first character of the expression lowercased.
Example
print"lcfirst() ",lcfisrt("ABCDef"), "\n";
length
Compliance
Syntax
Category named unary operator (string) Arguments expression Arguments none Return Value numeric
Definition
length returns the length of the string specified by expression. If no expression is supplied, $_ is evaluated.
Example
print("length() ",length("01234"),"\n");
link
Compliance
Syntax
Category list operator (files) Arguments filename, linkname Return Value numeric
Definition
This function creates a new link named after the second argument linking to the filename specified in the first argument; returns 1 or 0 for success or failure.
Example
$result = link("/usr/local",:"/tmp/link");
print("link() $result\n");
listen
Compliance
Syntax
Category list operator (socket) Arguments socket, queuesize Return Value 1 (true) '' (false)
Definition
This is equivalent to the UNIX listen() system call. If you are using accepts on a socket, listen tells the system that it is available.
local
Compliance
Syntax
Category named unary operator (scope) Arguments expression Return Value N/A
Definition
Modifies all the variables listed to be local to the current block. If there is more than one element, the list must be enclosed in parentheses. Any errors would be syntax errors. Although local() does prevent pollution of the global namespace with variables in subroutines, my() is safer than local() because it also creates new copies of the variables for each recursive call of a subroutine.
localtime
Compliance
Syntax
Category named unary operator (time) Arguments expression Arguments none Return Value list
Definition
Given a time as an argument (measured in seconds since 1 Jan. 1970), this function returns a list of nine elements with that time broken down into seconds, minutes, hours, day of month, month, year, day of week, day of year, daylight saving enabled (daylight saving enabled is either 1 for on or 0 for off). If no argument is used, the current time is reported. If the system supports POSIX time zones, the time returned is localized for the current time zone.
In a scalar context, the ctime() style output is returned (a string describing the time in readable form).
Example
($sec,$min,$hour,$mday,$mon,$year,$wday,$ydat,$isdst) = localtime(); print "localtime() 19$year-$mon-$mday\n";