Perl is a powerful tool, as common to web developers and GNU/Linux
"power users" as pneumatic impact wrenches are to a mechanic. Perl is
an all-purpose "glue language," and its flexibility makes it a choice
utility capable of doing lots of stuff. Its power is accompanied by
something of a learning curve, which means that it takes longer to
learn Perl than it does (say) sed or awk.
-
Download Perl
- For Windows users, there are 3 different versions to choose from:
ActiveState Perl, Strawberry Perl, and DWIM Perl. Installing
ActiveState or Strawberry Perl will require over 200 megs of space;
DWIM ("Do What I Mean" Perl) will occupy about 300 MB when it is
unpacked. It comes with Padre, the Perl IDE.
-
Tiny Perl
- Going for small and compact, TinyPerl puts most of the things you
want from Perl (minus nearly all the Perl modules) into 3 small files
with a total size of less than 710 Kilobytes. What's even more amazing,
this version of Perl claims you can generate an *.EXE file from your
perl script. Download either the 32-bit Windows installation or the
plain ZIP files from
here
-
Perl.com
- latest news about Perl, Perl conferences, Perl development
-
Perl.org
- home page for learning, docs, communities, cpan, opportunities, etc.
-
Perl Mongers
-
Perl Monks
-
Online Perl Documentation
- the core Perl docs in HTML format
This web site is put together by a combination of text files and
semi-html files, and arranged with automatic headers and navigation
elements by an HTML pre-processor called
xhtmlpp
(tar.gz archive)
This utility was based on an earlier tool called
htmlpp
written by the late
Pieter Hintjens,
a free sofware proponent and programmer.
Kathryn Andersen revised it as xhtmlpp for her web site,
katspace.com,
but she doesn't use it any more and isn't interested in maintaining it.
xhtmlpp and htmlpp are built on top of
Libero,
a "state machine" which generates its own code which (because it's
machine generated) is really hard to follow, even if you really like perl.
At some point in the future, I hope to produce a guide to how I use
xhtmlpp, and may create a "beginner's guides" to installing it.
For the time being, it's enough just to make the source available.
If you download and install modules from CPAN (the Comprehensive Perl
Archive Network), you probably use the cpan script to locate
the files you want, download, test, and then install them. If you don't
use cpan, you should learn about it. Type "man cpan" from a
Unix shell prompt to find out more.
In the "old" days, before cpan was as robust and
intelligent as it is now, perl modules were installed with the "make"
utility. In a Windows environment, "make" worked rather poorly, so
Microsoft finally released a new version, "nmake". (The name isn't that
weird; remember that nroff is named from "new roff.").
If you need these old utilities, here is Microsoft's FTP site for
nmake15.exe.
NMAKE15.EXE is a self-extracting zip file. When executed, it will extract
three files to your disk: nmake.exe, nmake.err, and readme.txt. Move
nmake.* to c:\perl\bin, which should be on the path. Then you
may run this standard command set for installing perl modules:
perl Makeinstall.PL
nmake
nmake test
nmake install
Here are some basic Perl scripts I'd like to share.
-
reform.pl
- a script to reformat paragraphs
-
colrm.pl
- column remove: a script to delete specified columns of text
-
endnote.txt
- If you write documents in plain ASCII (with Emacs, vim, EditPad, etc.), and
want to have note refrerences in your documents, and also wish you could move
those note references around without renumbering everything, this is for
you. Basically, you use references like this[##] in your
text, putting the actual citation (Dante, Book 3, sect. 2) directly
below the paragraph. Rearrange the document to your heart's delight.
When you're all finished, use
this perl script
to sequentially number all your references, gather your notes
together, and print them at the end of the file with numbers
corresponding to the in-text references. Totally cool. Eric Meyer
thought of it, and I wrote it for both awk and perl. The version here (ver.
142) is a major new version of what I posted a few years ago.
The perl script will be downloaded as a text file
("endnote_v142_pl.txt") to keep it from executing. Save it and
rename it to "endnote.pl" or simply "endnote" to use it. In a Linux or
Unix environment, use chmod to make it executable and put the
renamed file in your personal bin directory.
The same script is also available in
awk
if you'd rather.
-
biblink_v1.28.pl
- I call this "Bible Link". At over 1500 lines, it's fairly long, and
it took many hours of coding and testing. It creates HTML hyperlinks to
Bible passages in a file. It handles easy references like "John 3:16",
moderate references like "Jn 8:24, 12; 10:1, 8-10" and hard references
like "chapter 6" and
"(1:7, 9; 2:1-2)", even if the components span more than
one line. All these will be matched and hyperlinked. This is an
interactive program (required for hard references where the book name
is not known). However, the script remembers the last book and chapter
last used and suggests a link; you type 'y' to accept it, or you can
change it.
The script was developed at Moody Bible Institute in mid-2002. It
recognizes all common and uncommon abbreviations for books of the
Bible, and even has a switch to replace "l" (lower-case L) with "1"
(one) where a number was probably intended. The script contains perl
POD (Plain Old Documentation), which you can read
here
for further details.
-
biblinkXML_v0.6.pl
- After developing Bible Link, our team switched to an XML format and
we began using XMLSpy, which interfered a bit with Bible Link. Also, we
had been creating links that depended on
Bible Gateway
but they changed their query structure, so I had to revise how the
links were submitted. So, I made enough changes that I decided to
"downgrade" the version number to 0.6, even though this version
came out in 2005.
-
scripturizer.pm
- While I was working on "Bible Link," an entirely independent effort
by another Perl developer was underway to also locate Bible references
and generate HTML hyperlinks to them. This was called "Scripturizer,"
written by Dean Peters and others, and released as Perl module. Since
these two scripts have a similar aim, it seems nice to make this effort
available to web developers who use Perl. Thanks, Dean.
-
renx
- This is a slightly improved version of renx, the nice mass
filename rename utility written by Tom Christensen and Nate Torkington.
I added some additional switches (especially one to show results
without executing), and made sure it would work in Windows and also
under Cygwin. I also added better reporting and help messages.
I continue to write medium to large scripts in Perl now and then,
all for my current employer, and if circumstances allow maybe I can
share them with you at a later date.
|