This glossary covers the terms used in describing the Perl language, and common terms used on the Internet that may be useful when locating and installing Perl or searching for Perl utilities or modules on the Network.

account  A user ID and disk area restricted for the use of a particular person. Usually password protected.

alias  A short name used to represent a more complicated one. Often used for mail addresses or host domain names.

alphanumeric character  A character that is a single letter or a single digit.

analog  A form of electronic communication using a continuous electromagnetic wave, such as television or radio. Any continuous wave form, as opposed to digital on/off transmissions.

archive  A repository of files available for access at an Internet site. Also, a collection of files, often a backup of a disk or files saved to tape to allow them to be transferred.

argument  A parameter passed to a subroutine or function.

ARPA  (Advanced Research Projects Agency) a government agency that originally funded the research on the ARPANET (became DARPA in the mid-1970s).

ARPANET  An experimental communications network funded by the government that eventually developed into the Internet.

array  Data structure enumerating a number of elements indicated in Perl with an @ sign at the start of the variable name.

array context  An array value is required (either a normal array or an associative array, both of which are lists).

article  Message submitted to a UseNet newsgroup. Unlike an e-mail message that goes to a specific person or group of persons, a newsgroup message goes to directories (on many machines) that can be read by any number of people.

ASCII  Data that is limited to letters, numbers, and punctuation.

attribute  A form of a command-line switch as applied to tags in the HTML language. HTML commands or tags can be more specific when attributes are used. Not all HTML tags utilize attributes.

associative array  Data structure enumerating a number of elements each associated with a key indicated in Perl with a % at the start of the variable name.

associativity  A term to describe the way an operator takes its operands.

awk  UNIX text processing utility program.

bang  A slang term for an exclamation point.

bang address  A type of e-mail address that separates host names in the address with exclamation points. Used for mail sent to the UUCP network, where specifying the exact path of the mail (including all hosts that pass on the message) is necessary. The address is in the form of machine!machine!userID, where the number of machines listed depends on the connections needed to reach the machine where the account userID is.

binary  Data that may contain non-printable characters, including graphics files, programs, and sound files.

BinHex  A program that is used to encode binary files as ASCII so that they can be sent through e-mail.

bit  The basic unit of digital communications. There are 8 bits in a byte.

BITNET (Because It's Time Network)  A non-TCP/IP network for small universities without Internet access.

bitwise functions  Functions that treat their arguments as an array of binary bits.

bitwise operators  Operators that treat their operands as an array of binary bits.

block  A group of statements enclosed in braces.

bookmarks  Term used by some World Wide Web browsers for marking URLs you access frequently.

Boolean logic  Logic dealing with True/False values (for example, the operators AND, OR, and NOT are Boolean operators).

bounce  An e-mail message you receive that tells you that an e-mail message you sent wasn't delivered. Usually contains an error code and the contents of the message that wasn't delivered.

bps (bits per second)  A unit of measurement that expresses the speed at which data is transferred between computers.

bridge  A device that connects one physical section of a network to another, often providing isolation.

browser  A utility that lets you look through collections of things. For example, a file browser lets you look through a file system. Applications that let you access the World Wide Web are called browsers.

byte  A digital storage unit large enough to contain one ASCII character. Compare to bit.

C  A programming language that was the basis for many Perl features.

CERN  The European Laboratory for Particle Physics, where the World Wide Web was first conceived of and implemented.

child  A subprocess.

client  User of a service. Also often refers to a piece of software that gets information from a server.

command line  Line on a terminal-based interface where you enter commands to the operating system.

compress  A program that compacts a file so it fits into a smaller space. Also can refer to the technique of reducing the amount of space a file takes up.

CompuServe  A commercial online service that gives its subscribers access to the Internet in addition to its other features.

concatenate  To join two strings.

context  Many functions return either array values or scalar values depending on the context, that is, whether returning an array or a scalar value is appropriate for the place where the call was made.

CPAN  (Central Perl Archive Network) a series of machines on the Internet that act as central repositories for Perl distributions, documentation, libraries, and modules. The master site is at, but many mirror sites exist in other countries.

cyberspace  A term used to refer to the entire collection of sites accessible electronically. If your computer is attached to the Internet or another large network, it exists in cyberspace.

database  An structured way of storing data in an organized way, often described in terms of a number of tables each made up of a series of records, each record being made of a number of fields.

data type  Perl has three basic data types: scalar ($), array (@), and associative array (%), that is, these are the different kinds of variables that Perl can use.

daemon  A program that runs automatically on a computer to perform a service for the operating system.

DARPA (Defense Advanced Research Projects Agency, originally ARPA)  The government agency that funded the research that developed the ARPANET.

DBM  A UNIX database format.

debugging  The process of tracking down errors in a program, often aided by examining or outputting extra information designed to help this process.

dedicated line  See leased line.

DES (Data Encryption Standard)  An algorithm developed by the U.S. government to provide security for data transmitted over a network.

dialup  A type of connection where you use a modem to connect to another computer or an Internet provider via phone lines.

digest  A form of mailing list where a number of messages are concatenated (linked) and sent out as a single message.

digital  Type of communications used by computers, consisting of individual on and off pulses. Compare to analog.

directory  In most computer file systems files are grouped into a hierarchical tree structure with a number of files in each directory (the files are like the leaves and the directories are like the branches of this tree).

directory handle  A link between a Perl program and a directory that is created when the directory is opened.

DNS  See Domain Name System (DNS).

DOD (Department of Defense)  A U.S. government agency that originally sponsored the ARPANET research.

domain  Highest subdivision of the Internet, for the most part by country (except in the U.S., where it's by type of organization, such as educational, commercial, and government). Usually the last part of a host name; for example, the domain part of is .com, which represents the domain of commercial sites in the U.S.

Domain Name System (DNS)  The system that translates between Internet IP address and Internet host names.

dot address  See host address.

download  Move a file from a remote computer to your local computer.

effective GID  The group identifier of the current process, which may have been changed from the original GID by various means.

effective UID  The user identifier of the current process, which may have been changed from the original UID by various means.

egrep  A UNIX pattern matching utility that finds matching patterns in text files.

e-mail  An electronic message delivered from one computer user to another. Short for electronic mail.

e-mail address  An address used to send e-mail to a user on the Internet, consisting of the user name and host name (and any other necessary information, such as a gateway machine). An Internet e-mail address is usually of the form username@hostname.

emoticon  See smiley face.

encryption  The process of scrambling a message so that it can be read only by someone who knows how to unscramble it.

environment  Every process has a number of variables associated with it, these are described as the environment; Perl provides ways of examining and changing these environment variables.

ethernet  A type of local area network hardware. Many TCP/IP networks are ethernet based.

expire  Remove an article from a UseNet newsgroup after a specified interval.

FAQ (Frequently Asked Question document, pronounced as fak)  Contains a list of commonly asked questions on a topic. Most UseNet newsgroups have a FAQ to introduce new readers to popular topics in the newsgroup.

feed  Send UseNet newsgroups from your site to another site that wants to read them.

FIFO (First-In First-Out)  A queue where the first item placed in the queue is the first item processed when the queue is processed.

file  Basic unit of storage of computer data in a file structure; files can normally be binary or text only (ASCII).

file handle  A link between a Perl program and a file that is created when the file is opened.

file test  Perl has a number of file test operators that can test various aspects of a file, the most basic being whether the file exists or not.

finger  A program that provides information about users on an Internet host (possibly may include a user's personal information, such as project affiliation and schedule).

firewall  A device placed on a network to prevent unauthorized traffic from entering the network.

flame  Communicate in an abusive or absurd manner. Often occurs in newsgroup posts and e-mail messages.

flushing  When data is output to a text file it is usually buffered to make processing more efficient, flushing forces any items in the buffer to be actually written to the file.

formats  Perl allows the specification of formats to control the layout of text output.

forms  Online data-entry sheets supported by some World Wide Web browsers.

frame relay  A type of digital data communications protocol.

freeware  Software that is made available by the author at no cost to anyone who wants it (although the author retains rights to the software).

FTP (File Transfer Protocol)  An Internet communications protocol that allows you to transfer files between hosts on the Internet.

function  A function is a set of commands that may be passed to some arguments and return a result.

gateway  A device that interfaces two networks that use different protocols.

GID  (Group identifier), a number representing the group that a process belongs to in the operating system.

gigabit  Very high-speed (one billion bits per second) data communications.

gigabyte  A unit of data storage approximately equal to one billion bytes of data.

global variables  Variables that can be referred to anywhere within a package.

Gopher  An application that allows you to access publicly available information on Internet hosts that provide Gopher service.

Gopherbook  An application that uses an interface resembling a book to access Gopher servers.

grep  A UNIX pattern matching utility.

GUI (Graphical User Interface)  A computer interface based on graphical symbols rather than text. Windowing environments and Macintosh environments are GUIs.

gzip  A file compression program originally designed to replace the UNIX compress utility.

hacking  Originally referred to playing around with computer systems; now often used to indicate destructive computer activity.

hash lookup  Find the value associated with a specified key in an associative array.

hash table  A method used for implementing associative arrays, which allows the keys to be converted to numbers for internal storage purposes.

home page  The document that your World Wide Web browser loads when it starts up. It should have links to other documents that you use frequently. Also, the main entry point to a site is sometimes called its home page (the default first page for that site).

hop-check  A utility that allows you to find out how many routers are between your host and another Internet host. See also traceroute.

host address  A unique number assigned to identify a host on the Internet (also called IP address or dot address). This address is usually represented as four numbers between 1 and 254 and separated by periods, for example,

host name  A unique name for a host that corresponds to the host address.

hosts  Individual computers connected to the Internet; see also nodes.

hot list  A list of your favorite World Wide Web sites that can be accessed quickly by your WWW browser.

HTML (Hypertext Markup Language)  The formatting language that is used to create World Wide Web documents.

HTTP (Hypertext Transport Protocol)  The communications protocol that allows WWW hypertext documents to be retrieved quickly.

hyperlinks  See links.

hypertext  An online document that has words or graphics containing links to other documents. Usually, selecting the link area on-screen (with a mouse or keyboard command) activates these links.

IEEE (Institute of Electrical and Electronics Engineers)  The professional society for electrical and computer engineers.

IETF (Internet Engineering Task Force)  A group of volunteers that helps develop Internet standards.

Internet  The term used to describe all the worldwide interconnected TCP/IP networks.

Internet Explorer  A Microsoft Windows 95 Web browser.

InterNIC  The NSFNET manager sites on the Internet that provide information about the Internet.

IP (Internet Protocol)  The communications protocol used by computers connected to the Internet.

IP address  See host address.

IPC  (Inter-Process Communication) Perl has a way to access the UNIX system for passing values between running processes.

ISO (International Standards Organization)  An organization that sets worldwide standards in many different areas.

key  In an associative array, a series of unique keys are associated with values.

LAN (Local Area Network)  A network of computers that is limited to a (usually) small physical area, like a building.

leased line  A dedicated phone line used for network communications.

library  In Perl 4, the standard way to distribute code was in a library (accessed using the require() function); in Perl 5, modules are normally used, though libraries may still be used.

LIFO  (Last-In First-Out) A queue where the last item placed in the queue is the first item processed when the queue is processed.

links  The areas (words or graphics) in an HTML document that cause another document to be loaded when the user clicks them.

list  A list is a series of values separated by commas; lists are often enclosed in parentheses to avoid ambiguity and these parentheses are often necessary.

list context  This is the same as array context.

listproc  Software that automates the management of electronic mailing lists. See also LISTSERV, majordomo, and SmartList.

LISTSERV  Software that automates the management of electronic-mailing lists. See also listproc, majordomo, and SmartList.

local variables  Local variables can only be accessed in the current block and in subroutines called from that block.

local host  The computer you are currently using.

logical operators  This term is used to mean Boolean operators, that is, those dealing with True/False values.

logon  Provide a user ID and password to allow you to use the resources of a computer.

mailers  Applications that let you read and send e-mail messages.

mailing list  A service that forwards an e-mail message sent to it to everyone on a list, allowing a group of people to discuss a particular topic.

majordomo  Software that automates the management of electronic mailing lists. See also listproc, LISTSERV, and SmartList.

man  A UNIX command that provides information about the UNIX command entered in the parameter command. (The man command is short for manual entry.)

match  A string that does fit a specified pattern.

metacharacters  Characters that have a special meaning and so may need to be escaped to turn off that meaning.

MIME (Multi-Purpose Internet Mail Extensions)  An extension to Internet mail that allows for the inclusion of non-textual data such as video and audio in e-mail.

modem  An electronic device that allows digital computer data to be transmitted via analog phone lines.

moderator  A person who examines all submissions to a newsgroup or mailing list and allows only those that meet certain criteria to be posted. Usually, the moderator makes sure that the topic is pertinent to the group and that the submissions aren't flames.

module  The standard Perl 5 way to distribute libraries of functions.

Mosaic  A graphical interface to the World Wide Web (WWW).

motd (message of the day)  A message posted on some computer systems to let people know about problems or new developments.

my variables  Perl 5 has a type of variable that is truly local to only the block in which it is declared, as distinct from local variables that can actually be accessed from subroutines called from the block.

namespace  Variables names can have different scopes (such as global, local, and my) that determine which variable is being referred to at any point in a Perl program. The term namespace is used when describing how a variable name fits into this scheme (for example, a local variable in a subroutine is not in the package namespace).

netiquette  Network etiquette conventions used in written communications, usually referring to UseNet newsgroup postings but also applicable to e-mail.

netnews  A collective way of referring to the UseNet newsgroups.

Netscape  A popular commercial World Wide Web browser.

network  A number of computers physically connected to enable communication with one another.

newsgroups  The electronic discussion groups of UseNet.

newsreaders  Applications that let you read (and usually post) articles in UseNet newsgroups.

NFS (Network File System)  A file system developed by Sun Microsystems that is now widely used on many different networks.

NIC (Network Interface Card)  And add-on card to allow a machine to access a LAN (most commonly an ethernet card).

NIC (Network Information Center)  A service that provides administrative information about a network.

NNTP (Network News Transport Protocol)  The communications protocol that is used to send UseNet news on the Internet.

nodes  Individual computers connected to a network; see also hosts.

NSFNET  Network funded by the National Science Foundation, now the backbone of the Internet.

null character  A character with the value 0.

null list  An empty list represented as empty parentheses.

operand  Argument to an operator (often an expression itself that must be evaluated first).

operator  Usually a symbol that indicates that the relevant arguments (operands) are processed according to some rule and replaced with an appropriate result. Operators that are words are also allowed. This means that the distinction between a function and an operator is one based on the order of evaluation rather than a difference in what they do. In fact, in Perl 5, all functions can effectively be used as operators by omitting the parentheses.

package  A unit of Perl code that determines the scope of the variables. Variables in a Perl program without any explicit package declaration are assumed to be in the package main.

packet  The unit of data transmission on the Internet. A packet consists of the data being transferred with additional overhead information, such as the transmitting and receiving addresses.

packet switching  The communications technology that the Internet is based on, where data being sent between computers is transmitted in packets.

parallel  Means of communication in which digital data is sent multiple bits at a time, with each simultaneous bit being sent over a separate line.

parameter  Means the same as argument.

pattern  An expression defining a set of strings that match the pattern and a set that do not.

PDIAL  A list of mailing lists maintained by Stephanie da Silva (, periodically posted to the news.answers, news.announce.newusers, and news.lists UseNet newsgroups.

peer-to-peer  Internet services that can be offered and accessed by anyone, without requiring a special server.

Perl  (Practical Extraction and Report Language) a language well suited to text file processing as well as other tasks.

PGP (Pretty Good Privacy)  An application that allows you to send and receive encrypted e-mail.

PID  Process identifier, a number indicating the number assigned by the operating system to that process.

ping  A utility that sends out a packet to an Internet host and waits for a response (used to check if a host is up).

pipe  The concept in an operating system where the output of one program is fed into the input of another.

Pipeline  A complete Internet service package.

POP (Point of Presence)  Indicates availability of a local access number to a public data network.

port (hardware)  A physical channel on a computer that allows you to communicate with other devices (printers, modems, disk drives, and so on).

port (network)  An address to which incoming data packets are sent. Special ports can be assigned to send the data directly to a server (FTP, Gopher, WWW, telnet, or e-mail) or other specific program.

post  To send a message to a UseNet newsgroup.

postmaster  An address to which you can send questions about a site (asking if a user has an account there or if they sell a particular product, for example).

PPP (Point-To-Point Protocol)  A driver that allows you to use a network communications protocol over a phone line, used with TCP/IP to allow you to have a dial-in Internet host.

pragma  A Perl 5 module whose real purpose is to act as a compile time directive rather than supply any functions (for example, the integer module that switches to integer arithmetic).

precedence  The order in which operators are evaluated is based on their precedence.

procedure  In some languages a distinction is made between subroutines that do not return a value (procedures) and those that do (functions). Perl itself does not make such distinctions, though the term may be used.

process  In multitasking operating systems such as UNIX, many programs may be run at once and each one as it is running is called a process.

protocol  The standard that defines how computers on a network communicate with one another.

public domain software  Software that is made available by the author to anyone who wants it. (In this case, the author gives up all rights to the software.)

recursion  When a subroutine makes a call to itself.

regular expressions  A way of specifying a pattern so that some strings match the pattern and some strings do not. Parts of the matching pattern can be marked for use in operations such as substitution.

repeater  Device that allows you to extend the length of your network by amplifying and repeating the information it receives.

remote  Pertaining to a host on the network other than the computer you now are using.

remote host  A host on the network other than the computer you currently are using.

rlogin  A UNIX command that allows you to log on to a remote computer.

RFC (Request for Comments)  A document submitted to the Internet governing board to propose Internet standards or to document information about the Internet.

router  Equipment that receives an Internet packet and sends it to the next machine in the destination path.

scalar  A type of Perl variable that is not an array, this includes all integer, floating-point, and string variables in Perl; scalar variable names begin with the $ sign.

scalar context  A scalar value is required.

script  A Perl program is often called script as it is an interpreted set of instructions in a text file (line a UNIX shell script).

scope  The scope of a variable determines whether the variable name can be seen from various parts of a Perl program (see global, local, and my).

sed  A UNIX editing utility.

serial  Means of communication in which digital data is sent one bit at a time over a single physical line.

server  Provider of a service. Also often refers to a piece of hardware or software that provides access to information requested from it. See also client.

server-side include (SSI)  A command that directs the server to run a program, usually in the Perl programming language. SSIs are server-specific.

shareware  Software that is made available by the author to anyone who wants it, with a request to send the author a nominal fee if the software is used on a regular basis.

shell  The UNIX command interpreter (you often have a choice from a number of different shells).

signal  A means of passing information between the operating system and a running process, the process can trap the signal and respond accordingly.

signature  A personal sign-off used in e-mail and newsgroup posts, often contained in a file and automatically appended to the mail or post. Often contains organization affiliation and pertinent personal information.

site  A group of computers under a single administrative control.

SLIP (Serial Line Internet Protocol)  A way of running TCP/IP via the phone lines to allow you to have a dialup Internet host.

SmartList  Software that automates the management of electronic-mailing lists. See also listproc, LISTSERV, and majordomo.

smiley face  An ASCII drawing such as :-) (look at it sideways) used to help indicate an emotion in a message. Also called emoticon.

SMTP (Simple Mail Transport Protocol)  The accepted communications protocol standard for exchange of e-mail between Internet hosts.

SNMP (Simple Network Management Protocol)  A communications protocol used to control and monitor devices on a network.

socket  A means of network communications via special entities; Perl allows direct access to the UNIX C socket mechanism.

string  A sequence of characters.

subscribe  Become a member of a mailing list or newsgroup; also refers to obtaining Internet provider services.

subscript  The index number used to specify an element in an array.

substring  A contiguous part of a string, starting at a certain character and continuing for a certain length.

surfing  Jumping from host to host on the Internet to get an idea of what can be found. Also used to refer to briefly examining a number of different UseNet newsgroups.

syntax  A statement that contains programming code.

T1  Communications lines operating at 1.544M/sec.

T3  Communications lines operating at 45M/sec.

tag  A slang reference for commands that are part of HTML. See also HTML.

tainted  A means in Perl of flagging variables as untrustworthy because the value has been input by a non-trusted source (this allows the development of secure programs for applications such as Web server programs reading user input).

tar (tape archive program)  A UNIX-based program that creates packages of directory structures.

TCP (Transmission Control Protocol)  The network protocol used by hosts on the Internet.

telnet  A program that allows remote logon to another computer.

terminal emulation  Running an application that lets you use your computer to interface with a command-line account on a remote computer, as if you were connected to the computer with a terminal.

thread  All messages in a newsgroup or mailing list pertaining to a particular topic.

toggle  Alternate between two possible values.

token ring  A network protocol for LAN.

traceroute  A utility that allows you to find out how many routers are between your host and another Internet host. See also hop-check.

traffic  The information flowing through a network.

UID  User identifier, a number representing a user account (all files and processes in UNIX are associated with the owner's UID).

unary operator  An operator with one operand.

UNIX  An operating system used on many Internet hosts.

upload  Move a file from your local computer to a remote computer.

URL (Universal Resource Locator)  Used to specify the location and name of a World Wide Web document. You can also specify other Internet services available from WWW browsers, for example, or gopher://, or

UseNet  A collection of computer discussion groups that are read all over the world.

user name  The ID used to log on to a computer.

UUCP (UNIX to UNIX Copy Protocol)  An early transfer protocol for UNIX machines that required having one machine call the other one on the phone.

UUDecode  A program that lets you construct binary data that was UUEncoded.

UUEncode  A program that lets you send binary data through e-mail.

variable  A storage place in memory used in a program while it is running to store values that may be altered by the program.

viewers  Applications that are used to display non-text files, such as graphics, sound, and animation.

virus  A computer program that covertly enters a system by means of a legitimate program, usually doing damage to the system; compare to worm.

VMS (Virtual Memory System)  An operating system used on hosts made by Digital Equipment Corporation.

VRML (Virtual Reality Modeling Language)  An experimental language that lets you display 3D objects in Web documents.

WAIS (Wide Area Information Servers)  A system for searching and retrieving documents from participating sites.

WAN (Wide Area Network)  A network of computers that are geographically dispersed.

Web Chat  An application that allows you to carry on live conversations over the World Wide Web.

Web Crawler  A Web search tool.

WHOIS  A service that lets you look up information about Internet hosts and users.

World Wide Web (WWW or Web)  A hypertext-based system that allows browsing of available Internet resources.

worm  A computer program that invades other computers over a network, usually non-destructively; compare to virus.

X-modem  A communication protocol that lets you transfer files over a serial line. See also Y-modem and Z-modem.

yacc  A UNIX utility program for generating compilers based on a grammar (Yet Another Compiler Compiler).

Y-modem  A communication protocol that lets you transfer files over a serial line. See also X-modem and Z-modem.

Z-modem  A communication protocol that lets you transfer files over a serial line. See also X-modem and Y-modem.

ZIP  Probably the singular most popular file compression and archive program for PCs.