3.2
Edit由un由evise (and Save)
The most important thing about programming is that it's a
hands-on learning activity such as dancing, playing music, cooking,
or some other family-oriented activity. You can read about it, but
you can't actually do it until you actually do it.
While learning to program in Perl, you need to read about how Perl
works, as you will in the chapters that follow. You also need to look
at plenty of examples of programs. But you especially need to attempt
to write your own programs, as you are asked to do in the exercises
at the end of the later chapters. Only this kind of direct experience
will make you a programmer.
So I want to give you an overview of the most important tasks
involved in writing programs, to help you approach your first
programs with a clearer idea of what's really involved.
What exactly will you be doing at the computer? The bulk of a
programmer's work involves the steps of writing or revising a
program in an editor, then running the program and watching how it
behaves, and on the basis of that behavior going back and revising
the program again. A typical programmer spends more than half of his
or her time editing the program.
3.2.1
Saves and Backups
Once you have
even a few lines of code written,
it's important to save it. In fact, you should always remember
to save a version of your program at regular intervals during
editing, so if you make a bunch of edits and the computer crashes,
you don't lose hours of work. Also, make sure you back up your
work on another disk. Hard disks fail, and when yours does, the
information on it will be lost. Therefore it's essential to
make regular (daily) backups of your work onto some other
medium葉ape, floppy disk, Zip disk, another hard disk, writable
CD謡hatever, just so you won't lose all your work if a
disk failure occurs.
In addition to backups of your disks, it's also a good idea to
save a dated version of your program at regular intervals. This will
allow you to go back to an earlier version of your program should
that prove necessary.
It's also a good idea to make sure the backups you're
making actually work. So, for instance, if you're backing up to
a tape drive, try restoring the files from your tape drive every once
in a while, just to make sure that the software and the tapes
themselves are all working. You may also want to print out
("make a hardcopy") of your programs at regular intervals
for extra insurance against system failures. Finally, it's good
policy to keep the backups somewhere away from the computer, so in
case of fire or other disaster, the backups will be safe.
3.2.2
Error Messages
Fixing
errors is an essential step in
writing programs. After you've written and edited a program,
the next step is to run it to see if it works. Very often,
you'll find that you've made some typographical error,
like forgetting to put in a semicolon. As a result, your program
isn't valid, and you'll get various error messages from
the system. You then have to read the error messages and reedit your
program to repair the offending code.
These error messages are sometimes rather cryptic. In the event of an
error, the Perl interpreter may have some trouble knowing exactly
where you went wrong. It may only recognize that there is something
wrong. So it guesses where the problem is, and in the process, it may
give you some extraneous information.
The most important thing about using error messages is to look at the
first one or two error messages and ignore the rest; fix the top
problems, and try running the program again. Error messages are often
verbose and can run on for several pages. Just ignore everything but
the first errors reported. Another important point is that the line
numbers reported in those first error messages are usually right.
Sometimes they're off by a line, and they're rarely way
off. Later on, we'll practice generating and reading error
messages.
3.2.3
Debugging
Perhaps
your
edits created a valid program, and the Perl interpreter reads in your
program and runs it. You find, however, that the program isn't
doing what you want it to do. Now you have to go back, look at the
program, and try to figure out what's wrong.
Perhaps you made a simple mistake, such as adding instead of
subtracting. You may have misread the documentation, and you're
using the language the wrong way (reread the documentation). You may
simply have an inadequate plan for accomplishing your goal (rethink
your strategy and reprogram that part of the code). Sometimes you
can't see what's wrong, and you have to look elsewhere
(try searching newsgroup archives or FAQs or asking colleagues for
help).
For errors that are difficult to find, there are programs called
debuggers
that allow you to run the program step by step, looking at everything
that's happening in the program. (Chapter 6
takes an in-depth look at Perl's debugger.)
There are other tools and techniques you can use. For instance, you
can examine your program by adding print
statements that print out intermediate values or results. There are
also special helper programs that can observe your program while
it's running and then report about it, telling you, for
instance, about where the program is spending most of its time. These
tools, and others like them, are essential to programming, and you
need to learn how to use them.