You can download the linked Perl files and/or simply copy and paste the following four lines, which correspond to the four titles above:
perl -e '{print"a"x++$...$"x$.,$,=_;redo}'
perl -e '{print$,=$"x($.+=.01),a..z;redo}'
perl -e '{print" ".chr for 32..126;redo}'
perl -e '{print$",$_=(a..z)[rand$=];redo}'
These programs have been transliterated to Cyrillic (and Natalia Fedorova has translated their titles to Russian). Perl's greater facilty with the Latin alphabet made it impossible to fit three of these four programs into 32 characters:
perl -e 'sub n{for(1072..1103){if($_[1]){push@_,n($_[0].chr,$_[1]-1)}else{print$_[0].chr._}}return
@_}{binmode STDOUT,utf8;n("",$.++);redo}'
perl -e '{binmode STDOUT,utf8;print$"x($.+=.01),chr for 1072..1103;redo}'
perl -e '{print" ".chr for 32..126;redo}'
perl -e '{binmode STDOUT,utf8;print$",chr((1072..1103)[rand$=]);redo}'
These programs have also been transliterated to Greek; the Greek titles were devised thanks to Christos Dimitrakakis and Thodoris Chiotis. Again, three of these do not fit into the original 32 characters:
perl -e '{binmode STDOUT,utf8;print$"x($.+=.01),chr for 945..969;redo}'
perl -e 'sub n{for(945..969){if($_[1]){push@_,n($_[0].chr,$_[1]-1)}else{print$_[0].chr._}}return@_}{binmode STDOUT,utf8;n("",$.++);redo}'
perl -e '{print" ".chr for 32..126;redo}'
perl -e '{binmode STDOUT,utf8;print$",chr((945..969)[rand$=]);redo}'
For purposes of determining the platform precisely and counting characters, the rules of Perl Golf are used. These rules, for instance, do not count the (optional) newline at the end of a one-line program. The Concrete Perl programs work on all standard versions of Perl 5.8.0 and have been verified as 32 characters long using a count program.
These programs are also written to work and to be visually pleasing on terminal windows (or terminals) of any geometry.
"All the Names of God" should crash fairly soon after you start it, once it tries to pre-compute and store in memory all permutations of six letters. "Alphabet Expanding" should also crash, in theory, at some point in the distant future.
Concrete Perl was released onto the demoscene and discussed by me for the first time in my talk “Beyond Data-Driven Poetry: ppg256 and Concrete Perl,” on the panel “Literary Practice and the Digital Humanities, Redux: Data as/and Poetry,” Digital Humanities 2011, Stanford, June 22, 2011.
I have printed the four programs/poems on a dot matrix printer on business cards. I added one of them them to the “Interactive Poetry Wall” at Stanford University’s “Coho” coffeehouse. “Concrete Perl” was also published in my book #! (Counterpath Press, 2014).