📄 ch1.htm
字号:
<HTML>
<HEAD>
<TITLE>Chapter 1 -- Getting Your Feet Wet</TITLE>
<META>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#CE2910">
<H1><FONT SIZE=6 COLOR=#FF0000>Chapter 1</FONT></H1>
<H1><FONT SIZE=6 COLOR=#FF0000>Getting Your Feet Wet</FONT></H1>
<HR>
<P>
<CENTER><B><FONT SIZE=5>CONTENTS</FONT></B></CENTER>
<UL>
<LI><A HREF="#Origins">
Origins</A>
<LI><A HREF="#SimilartoC">
Similar to C?</A>
<LI><A HREF="#CostandLicensing">
Cost and Licensing</A>
<LI><A HREF="#DoYouHavePerlInstalled">
Do You Have Perl Installed?</A>
<LI><A HREF="#GettingandInstallingPerl">
Getting and Installing Perl</A>
<LI><A HREF="#YourFirstPerlProgram">
Your First Perl Program</A>
<UL>
<LI><A HREF="#CreatingtheProgram">
Creating the Program</A>
<LI><A HREF="#Invocation">
Invocation</A>
</UL>
<LI><A HREF="#CommentsinYourProgram">
Comments in Your Program</A>
<LI><A HREF="#Summary">
Summary</A>
<LI><A HREF="#ReviewQuestions">
Review Questions</A>
<LI><A HREF="#ReviewExercises">
Review Exercises</A>
</UL>
<HR>
<P>
You are about to embark on a journey through the world of Perl
programming. You'll find that the trip has been `made easier by
many examples liberally sprinkled along the trail. The beginning
of the trip covers the basic coNCepts of the Perl language. Then
you move on to some of the more advaNCed coNCepts-how to create
Perl statements and whole programs. At the end of the trip, some
guideposts are placed-in the form of Internet sites-to show you
how to explore more advaNCed programming topics on your own.
<P>
Do you know any other programming languages? If so, then learning
Perl will be a snap. If not, take it slow, try all of the examples,
and have fun experimenting as you read.
<P>
I thought about adding a section here about programming ideals.
Or perhaps, a discussion about the future of Perl. Then, I realized
that when I was first learning computer languages, I didn't really
care about that stuff. I just wanted to know about the language
and what I could <I>do</I> with it.
<P>
With that in mind, the next section on Perl's origin is very short.
After all, you can read all the background information you'd like
using a web browser by starting at <B>http://www.perl.com</B>-the
Perl Home Page.
<H2><A NAME="Origins"><FONT SIZE=5 COLOR=#FF0000>
Origins</FONT></A></H2>
<P>
Perl began as the result of one man's frustration and, by his
own account, inordinate laziness. It is a unique language in ways
that cannot be conveyed simply by describing the technical details
of the language. Perl is a state of mind as much as a language
grammar.
<P>
One of the oddities of the language is that its name has been
given quite a few definitions. Originally, Perl meant the Practical
Extraction Report Language. However, programmers also refer to
is as the Pathologically Eclectic Rubbish Lister. Or even, Practically
Everything Really Likable.
<P>
Let's take a few minutes to look at the external forces which
provoked Perl into being-it should give you an insight into the
way Perl was <I>meant</I> to be used. Back in 1986, Larry Wall
found himself working on a task which involved generating reports
from a lot of text files with cross refereNCes. Being a UNIX programmer,
and because the problem involved manipulating the contents of
text files, he started to use awk for the task. But it soon became
clear that awk wasn't up to the job; with no other obvious candidate
for the job, he'd just have to write some code.
<P>
Now here's the interesting bit: Larry could have just written
a utility to manage the particular job at hand and gotten on with
his life. He could see, though, that it wouldn't be long before
he'd have to write another special utility to handle something
else which the standard tools couldn't quite hack. (It's possible
that he realized that most programmers were <I>always</I> writing
special utilities to handle things which the standard tools couldn't
quite hack.)
<P>
So rather than waste any more of his time, he invented a new language
and wrote an interpreter for it. If that seems like a paradox,
it isn't really-it's always a bit more of an effort to set yourself
up with the right tools, but if you do it right, the effort pays
off.
<P>
The new language had an emphasis on system management and text
handling. After a few revisions, it could handle regular expressions,
signals, and network sockets, too. It became known as Perl and
quickly became popular with frustrated, lazy UNIX programmers.
And the rest of us.<BR>
<p>
<CENTER>
<TABLE BORDERCOLOR=#000000 BORDER=1 WIDTH=80%>
<TR><TD><B>Note</B></TD></TR>
<TR><TD>
<BLOCKQUOTE>
Is it "Perl" or "perl?" The definitive word from Larry Wall is that it doesn't matter. Many programmers like to refer to languages with capitalized names (Perl) but the program originated on a UNIX system where short, lowercase names
(awk, sed, and so forth) were the norm. As with so many things about the language, there's no single "right way" to do it; just use it the way you want. It's a tool, after all, not a dogma.</BLOCKQUOTE>
<BLOCKQUOTE>
If you're sufficiently pedantic, you may want to call it "[Pp]erl" after you've read <A HREF="ch10.htm" tppabs="http://cheminf.nankai.edu.cn/~eb~/Perl%205%20By%20Example/ch10.htm" >Chapter 10</A>, "Regular Expressions."</BLOCKQUOTE>
</TD></TR>
</TABLE>
</CENTER>
<P>
<H2><A NAME="SimilartoC"><FONT SIZE=5 COLOR=#FF0000>
Similar to C?</FONT></A></H2>
<P>
Perl programs bear a passing resemblaNCe to C programs, perhaps
because Perl was written in C, or perhaps because Larry found
some of its syntactic conventions handy. But Perl is less pedantic
and a lot more coNCise than C.
<P>
Perl can handle low-level tasks quite well, particularly siNCe
Perl 5, when the whole messy business of refereNCes was put on
a sound footing. In this sense, it has a lot in common with C.
But Perl handles the internals of data types, memory allocation,
and such automatically and seamlessly.
<P>
This habit of picking up interesting features as it went along-regular
expressions here, database handling there-has been regularized
in Perl 5. It is now fairly easy to add your favorite bag of tricks
to Perl by using modules. It is likely that many of the added-on
features of Perl such as socket handling will be dropped from
the core of Perl and moved out to modules after a time.
<H2><A NAME="CostandLicensing"><FONT SIZE=5 COLOR=#FF0000>
Cost and Licensing</FONT></A></H2>
<P>
Perl is free. The full source code and documentation are free
to copy, compile, print, and give away. Any programs you write
in Perl are yours to do with as you please; there are no royalties
to pay and no restrictions on distributing them as far as Perl
is coNCerned.
<P>
It's not completely "public domain," though, and for
very good reason. If the source were completely public domain,
it would be possible for someone to make minor alterations to
it, compile it, and sell it-in other words, to rip off its creator.
On the other hand, without distributing the source code, it's
hard to make sure that everyone who wants to can use it.
<P>
The GNU General Public License is one way to distribute free software
without the danger of someone taking advantage of you. Under this
type of license, source code may be distributed freely and used
by anybody, but any programs derived using such code must be released
under the same type of license. In other words, if you derive
any of your source code from GNU-licensed source code, you have
to release your source code to anyone who wants it.
<P>
This is often sufficient to protect the interests of the author,
but it can lead to a plethora of derivative versions of the original
package. This may deprive the original author of a say in the
development of his or her own creation. It can also lead to confusion
on the part of the end users as it becomes hard to establish which
is the definitive version of the package, whether a particular
script will work with a given version, and so on.
<P>
That's why Perl is released under the terms of the "Artistic"
license. This is a variation on the GNU General Public License
which says that anyone who releases a package derived from Perl
must make it clear that the package is not actually Perl. All
modifications must be clearly flagged, executables renamed if
necessary, and the original modules distributed along with the
modified versions. The effect is that the original author is clearly
recognized as the "owner" of the package. The general
terms of the GNU General Public License also apply.
<H2><A NAME="DoYouHavePerlInstalled"><FONT SIZE=5 COLOR=#FF0000>
Do You Have Perl Installed?</FONT></A></H2>
<P>
It's critically important to have Perl installed on your computer
before reading too much further. As you read the examples, you'll
want to try them. If Perl is not already installed, momentum and
time will be lost.
<P>
It is very easy to see if your system already has Perl installed.
Simply go to a command-line prompt and type:
<BLOCKQUOTE>
<PRE>
perl -v
</PRE>
</BLOCKQUOTE>
<P>
Hopefully, the response will be similar to this:
<BLOCKQUOTE>
<PRE>
This is perl, version 5.001
Unofficial patchlevel 1m.
Copyright 1987-1994, Larry Wall
Win32 port Copyright 1995 Microsoft Corporation. All rights reserved.
Developed by hip communications iNC., http://info.hip.com/info/
Perl for Win32 Build 107
Built Apr 16 1996@14:47:22
Perl may be copied only under the terms of either the Artistic License or
the GNU General Public License, which may be found in the Perl 5.0 source
kit.
</PRE>
</BLOCKQUOTE>
<P>
If you get an error message or you have version 4 of Perl, please
see your system<BR>
administrator or install Perl yourself. The next section describes
how to get and<BR>
install Perl.
<H2><A NAME="GettingandInstallingPerl"><FONT SIZE=5 COLOR=#FF0000>
Getting and Installing Perl</FONT></A></H2>
<P>
New versions of Perl are released on the Internet and distributed
to Web sites and ftp archives across the world. UNIX binaries
are generally not made available on the Internet, as it is generally
better to build Perl on your system so that you can be certain
it will work. All UNIX systems have a C compiler, after all.
<P>
Each operating system has its own way of getting and installing
Perl.
<BLOCKQUOTE>
<B>For UNIX and OS/2</B>-The Perl Home Page contains a software
link (<B>http://www.perl.com/perl/info/software.html</B>) that
will enable you to download the latest Perl source code. The page
also explains why Perl binaries are not available. Hopefully,
your system will already have Perl installed. If not, try to get
your system administrator to install it.
</BLOCKQUOTE>
<BLOCKQUOTE>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -