The second issue of the Virtual Poetry Project is already online.  It can be seen here, and it’s dedicated to Perl Poetry

The practice of poetry writing in Perl (Practical Extraction and Report Language) has expanded since Larry Wall’s first haiku (featured in this issue) appeared in 1991. Poetry can be conceived in Perl in several ways: it can be either an original creation or a porting of already existing poems, such as Lewis Carrol’s “Jabberwocky” or William Blake’s “London”; either executable scripts that provide an output or non-executable (even buggy on purpose) pieces of code.

The question of the use of computer programming languages for poetry creation was raised for the first time by the OULIPO group in 1975 (Thomas 26 – 8). But while the members of this group in Europe put the emphasis in the use of software to obtain random syntactic combinations, Perl poetry actually uses code as its targeted media. Larry Wall wrote for the first time a piece where he demonstrated that this potential use of code was indeed a possible practice. His haiku respected the metric and thematic conventions of the genre, bearing a semantic layer at the same time (Hopkins Rauenzhan).

Poetry porting, one of the practices carried out by Perl poets, is showcased here by the two above mentioned examples: Eric Andreycheck’ version of “Jabberwocky” and Graham Harwood’s version of “London”. is an executable script that follows verse by verse the structure and the logical connections established in Lewis Carrol’s texts. Porting -a term coined in computer sciences to express the adaptation of hardware or software to make them functional in a different environment- can be seen as a form of translation, in this case a translation into a language readable by a machine.

On the other hand, Graham Harwood’s texts provide example of poetry written in Perl that go beyond the formal exercise of using code as a mean for poetic creation, and highlights the social and political use of technologies today. His porting of “London” by William Blake transforms the Romantic text into a reflection on the changes brought by technology in forms both of social control and political resistance.

About Perl

(From the Perl Programmers Reference Guide [man perl])

Perl is a language optimized for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information. It’s also a good language for many system management tasks. The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal). Perl combines (in the author’s opinion, anyway) some of the best features of C, sed, awk, and sh, so people familiar with those languages should have little difficulty with it. (Language historians will also note some vestiges of csh, Pascal, and even BASIC-PLUS.) Expression syntax corresponds closely to C expression syntax. Unlike most Unix utilities, Perl does not arbitrarily limit the size of your data–if you’ve got the memory, Perl can slurp in your whole file as a single string. Recursion is of unlimited depth. And the tables used by hashes (sometimes called “associative arrays”) grow as necessary to prevent degraded performance. Perl can use sophisticated pattern matching techniques to scan large amounts of data quickly. Although optimized for scanning text, Perl can also deal with binary data, and can make dbm files look like hashes. Setuid Perl scripts are safer than C programs through a dataflow tracing mechanism that prevents many stupid security holes. If you have a problem that would ordinarily use sed or awk or sh, but it exceeds their capabilities or must run a little faster, and you don’t want to write the silly thing in C, then Perl may be for you. There are also translators to turn your sed and awk scripts into Perl scripts.

How to run Perl Poetry

Perl poems are sometimes also perl scripts that can be run from a terminal as any other script under Linux. Once you open the terminal, you need to browse to the folder where the script is located using the cd command:

	$ cd /path/to/the/folder

Once there, you need to change the permissions of the script in order to make it executable. In this example we will execute the script by Eric Andreychek:

	$ chmod +x

Now you can execute the script by typing ./<name of file>:

	$ ./

Have fun!


Hopkins Rauenzahn, Sharon. “Camels and Needles: Computer Poetry Meets the Perl Programming Language.” Virtual Poetry Project; Vol 1, No 2 (2010): Dossier #2: Perl Poetry (2009): n. pag. Web.

Thomas, Jean-Jacques. “README.DOC: On Oulipo.” SubStance 17.2 (1988): 18-28. Print.

External links:

Hearat Shulaym (Israel). Issue on poetry and new technologies, with a dossier about Perl Poetry [PDF]

Howse, Martin. “Outside The Black Box | Tux Deluxe.” Web. 14 Ene 2010. Permalink:

2 Responses to “Virtual Poetry Project. Dossier # 2: Perl Poetry”

  1. apitanga said:

    Very cool 🙂

  2. Marcos Wasem said:

    Thank you, André. I will publish this issue on Feb. 10, at the NML meeting.

Leave a Reply