Foreword
They say that it's easy to get trapped by a metaphor. But some
metaphors are so magnificent that you don't mind getting trapped in
them. Perhaps the cooking metaphor is one such, at least in this
case. The only problem I have with it is a personal one—I feel
a bit like Betty Crocker's mother. The work in question is so
monumental that anything I could say here would be either redundant
or irrelevant.
However, that never stopped me before.
Cooking is perhaps the humblest of the arts; but to me humility is a
strength, not a weakness. Great artists have always had to serve
their artistic medium—great cooks just do so literally. And the
more humble the medium, the more humble the artist must be in order
to lift the medium beyond the mundane. Food and language are both
humble media, consisting as they do of an overwhelming profusion of
seemingly unrelated and unruly ingredients. And yet, in the hands of
someone with a bit of creativity and discipline, things like
potatoes, pasta, and Perl are the basis of works of art that "hit the
spot" in a most satisfying way, not merely getting the job done, but
doing so in a way that makes your journey through life a little more
pleasant.
Cooking is also one of the oldest of the arts. Some modern artists
would have you believe that so-called ephemeral art is a recent
invention, but cooking has always been an ephemeral art. We can try
to preserve our art, make it last a little longer, but even the food
we bury with our pharoahs gets dug up eventually. So too, much of our
Perl programming is ephemeral. This aspect of Perl cuisine has been
much maligned. You can call it quick-and-dirty if you like, but there
are billions of dollars out there riding on the supposition that fast
food is not necessarily dirty food. (We hope.)
Easy things should be easy, and hard things should be possible. For
every fast-food recipe, there are countless slow-food recipes. One of
the advantages of living in California is that I have ready access to
almost every national cuisine ever invented. But even within a given
culture, There's More Than One Way To Do It. It's said in Russia that
there are more recipes for borscht than there are cooks, and I
believe it. My mom's recipe doesn't even have any beets in it! But
that's okay, and it's more than okay. Borscht is a cultural
differentiator, and different cultures are interesting, and
educational, and useful, and exciting.
So you won't always find Tom and Nat doing things in this book the
way I would do them. Sometimes they don't even do things the same way
as each other. That's okay—again, this is a strength, not a
weakness. I have to confess that I learned quite a few things I
didn't know before I read this book. What's more, I'm quite confident
that I still don't know it all. And I hope I don't any time soon. I
often talk about Perl culture as if it were a single, static entity,
but there are in fact many healthy Perl subcultures, not to mention
sub-subcultures and supercultures and circumcultures in every
conceivable combination, all inheriting attributes and methods from
each other. It can get confusing. Hey, I'm confused most of the time.
So the essence of a cookbook like this is not to cook for you (it
can't), or even to teach you how to cook (though it helps), but
rather to pass on various bits of culture that have been found
useful, and perhaps to filter out other bits of "culture" that grew
in the refrigerator when no one was looking. You in turn will pass on
some of these ideas to other people, filtering them through your own
experiences and tastes, your creativity and discipline. You'll come
up with your own recipes to pass to your children. Just don't be
surprised when they in turn cook up some recipes of their own, and
ask you what you think. Try not to make a face.
I commend to you these recipes, over which I've made very few faces.
—Larry Wall, June, 1998
|