- publishing free software manuals
Perl Language Reference Manual
by Larry Wall and others
Paperback (6"x9"), 724 pages
ISBN 9781906966027
RRP £29.95 ($39.95)

Sales of this book support The Perl Foundation! Get a printed copy>>>

29.9 I

identifier
A legally formed name for most anything in which a computer program might be interested. Many languages (including Perl) allow identifiers that start with a letter and contain letters and digits. Perl also counts the underscore character as a valid letter. (Perl also has more complicated names, such as qualified names.)
impatience
The anger you feel when the computer is being lazy. This makes you write programs that don't just react to your needs, but actually anticipate them. Or at least that pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris.
implementation
How a piece of code actually goes about doing its job. Users of the code should not count on implementation details staying the same unless they are part of the published interface.
import
To gain access to symbols that are exported from another module. See .
increment
To increase the value of something by 1 (or by some other number, if so specified).
indexing
In olden days, the act of looking up a key in an actual index (such as a phone book), but now merely the act of using any kind of key or position to find the corresponding value, even if no index is involved. Things have degenerated to the point that Perl's index ( ) function merely locates the position (index) of one string in another.
indirect filehandle
An expression that evaluates to something that can be used as a filehandle: a string (filehandle name), a typeglob, a typeglob reference, or a low-level IO object.
indirect object
In English grammar, a short noun phrase between a verb and its direct object indicating the beneficiary or recipient of the action. In Perl, print STDOUT "$foo\n"; can be understood as "verb indirect-object object" where STDOUT is the recipient of the print ( ) action, and "$foo" is the object being printed. Similarly, when invoking a method, you might place the invocant between the method and its arguments:
$gollum = new Pathetic::Creature "Smeagol";
give $gollum "Fisssssh!";
give $gollum "Precious!";
In modern Perl, calling methods this way is often considered bad practice and to be avoided.
indirect object slot
The syntactic position falling between a method call and its arguments when using the indirect object invocation syntax. (The slot is distinguished by the absence of a comma between it and the next argument.) STDERR is in the indirect object slot here:
print STDERR "Awake!  Awake!  Fear, Fire,
    Foes!  Awake!\n";
indirection
If something in a program isn't the value you're looking for but indicates where the value is, that's indirection. This can be done with either symbolic references or hard references.
infix
An operator that comes in between its operands, such as multiplication in 24 * 7.
inheritance
What you get from your ancestors, genetically or otherwise. If you happen to be a class, your ancestors are called base classes and your descendants are called derived classes. See single inheritance and multiple inheritance.
instance
Short for "an instance of a class", meaning an object of that class.
instance variable
An attribute of an object; data stored with the particular object rather than with the class as a whole.
integer
A number with no fractional (decimal) part. A counting number, like 1, 2, 3, and so on, but including 0 and the negatives.
interface
The services a piece of code promises to provide forever, in contrast to its implementation, which it should feel free to change whenever it likes.
interpolation
The insertion of a scalar or list value somewhere in the middle of another value, such that it appears to have been there all along. In Perl, variable interpolation happens in double-quoted strings and patterns, and list interpolation occurs when constructing the list of values to pass to a list operator or other such construct that takes a LIST.
interpreter
Strictly speaking, a program that reads a second program and does what the second program says directly without turning the program into a different form first, which is what compilers do. Perl is not an interpreter by this definition, because it contains a kind of compiler that takes a program and turns it into a more executable form (syntax trees) within the perl process itself, which the Perl run time system then interprets.
invocant
The agent on whose behalf a method is invoked. In a class method, the invocant is a package name. In an instance method, the invocant is an object reference.
invocation
The act of calling up a deity, daemon, program, method, subroutine, or function to get it do what you think it's supposed to do. We usually "call" subroutines but "invoke" methods, since it sounds cooler.
I/O
Input from, or output to, a file or device.
IO
An internal I/O object. Can also mean indirect object.
IP
Internet Protocol, or Intellectual Property.
IPC
Interprocess Communication.
is-a
A relationship between two objects in which one object is considered to be a more specific version of the other, generic object: "A camel is a mammal." Since the generic object really only exists in a Platonic sense, we usually add a little abstraction to the notion of objects and think of the relationship as being between a generic base class and a specific derived class. Oddly enough, Platonic classes don't always have Platonic relationships--see inheritance.
iteration
Doing something repeatedly.
iterator
A special programming gizmo that keeps track of where you are in something that you're trying to iterate over. The foreach loop in Perl contains an iterator; so does a hash, allowing you to each ( ) through it.
IV
The integer four, not to be confused with six, Tom's favorite editor. IV also means an internal Integer Value of the type a scalar can hold, not to be confused with an NV.
ISBN 9781906966027Perl Language Reference ManualSee the print edition