Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
A
B
C
D
E
F
G
H
I
JK
L
M
N
O
P
QR
S
T
UV
WXYZ+
Get a full dump of the dictionary:
List of Names
Short Form
Full Form
-
Perl
- Language type:
- Description:
Perl is an interpreted scripting language
with extensive facilities for data
manipulation and rapid application
development. Perl is basically
block-structured, but also supports
object-oriented programming.
"Perl" stands for "Practical Extraction
and Reporting Language," a reference to
the purpose for which the Perl
interpreter was originally created:
system administration and data reduction.
Perl has gone through several major
evolutionary phases. The current
language version is Perl5, but some
pockets of Perl4 use still exist. Perl5
is backward-compatible with 4. In the
feature list below, features that are specific
to Perl5 are marked with an asterisk.
- data types: strings, numbers, lists, associative arrays, references, globs
- data types: objects *
- conventional math and arithmetic functions
- subroutines, variable argument lists
- dynamic memory handling with garbage collection
- extensive file I/O facilities
- extensive system interface support
- regular expression pattern matching and substitution
- very extensive data output formatting capabilities
- various loops and conditional constructs
- object definition and inheritance *
- separable namespaces (packages) *
- lexical and dynamic scope local variables *
- on-the-fly code evaluation and error handling
The Perl language does not support the
traditional notion of records or structs.
Instead, associative arrays (hashes)
are provided to serve all such purposes.
Similarly, Perl supports object-oriented programming,
but does not stipulate an object storage format.
In Perl5, code is parsed and compiled into very
high-level bytecodes prior to interpreted
execution. This approach, and extensive
optimization of the Perl interpreter and
run-time engine, allow Perl scripts to
achieve very high performance.
Perl currently does not support multi-threading,
although efforts are underway to add this
important feature.
Perl is very popular in the UNIX
community, and gaining acceptance in the
Microsoft Windows developer community.
There is only one Perl language system;
written in C to be very portable, it runs
on all UNIX platforms, 32-bit Windows, VMS,
and many other systems. Perl is free.
Books, tutorials, and on-line resources
for Perl are widely available, and generally
of good quality. Add-on modules and
pre-built scripts for Perl are also
widely available, with more being written
all the time. Add-ons for Perl are
so numerous and in such wide demand that
an organized replicated archive system
for them exists: the Comprehensive Perl
Archive Network (CPAN).
There is no international standard for
Perl syntax. The language definition
is informally set forth in Programming
Perl, 2nd Edition, by Wall, Christiansen, and
Schwartz.
- Origin:
- See Also:
- Remarks:
According to Larry Wall, "Perl is a
language for getting your job done." This
highly pragmatic statement is reflected in
the design of Perl in many ways. Perl
is typically applied to such jobs as
data reformatting, text extraction,
creation of simple network servers,
database access, system configuration,
software testing, and much more.
Perl has gained a great deal of popularity
recently because it is the easiest and
most effective language in which to write
back-end WWW programs called CGI scripts.
Perl excels at this because it has good
string manipulation, file I/O, control
structure, and database interfacing. (The
back-end for this programming language
dictionary is written in about 1100 lines
of Perl, including lots of comments.)
The informal symbol for Perl is the camel.
Like a camel, Perl is not always beautiful,
but it gets the job done.
Perl is fairly good at interfacing to
other languages, albeit not as good as
tcl. The Perl interpreter can be embedded
in C or C programs, and it can be
made to call C or C routines. Efforts
to interface Perl with Java are also
underway (circa late 1997).
Perl has no native GUI toolkit, but
a version
of the Tk toolkit has been intergrated
with Perl.
- Links:
-
-
-
- Date:
- Sample code:
#!/usr/bin/perl
# Simple program to extract column 3 from a file
# and total up the numbers.
$total = 0;
sub sumcolumn {
my $col = shift;
my $lin = shift;
my @fields;
if ($lin) {
@fields = split(/:/,$lin);
$total = $fields[2];
}
}
while (<>) {
sumcolumn(3,$_);
}
print "Total of column 3 is $total\n";
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is ziring@home.com
[Ziring MicroWeb Home]
[Dictionary Start]
[Sign Guestbook]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.