The college I work for recently published a small poetry journal with the theme of romantic love. Submissions had to translate an exisiting poem from English into another language, or vice versa. I submitted this and it was enthusiastically accepted.
Some lines are a hair over 80 columns. Fitting onto a single page was the highest priority for the publication, so I used less whitespace and more columns than I normally would for production code. The code will run if executed.
-----------------------
#!/usr/bin/env perl
# filename: nymphs_reply.pl
# description: the nymph's reply to the shepherd
# created: before 1599, sir walter raleigh (wraleigh)
# modified: 02.14.2012, william fielder (wfielder)
# bug tracker: (cmarlowe) successful exit conditions will never be met
# bug closed: (wraliegh) nofix, working as designed
# === pragmas and globals === #
use File::Copy;
$world_and_love = 1000; # vast untold
+eons
$shepherds_tongue = 0; # what a guy
$rocks = 300; # warm, degree
+s kelvin
$philomel = 100; # iq, smart bi
+rd
$youth = 0; # wasted on th
+e young
$rivers = "with more than flinty rage"; # apologies to
+ thom
$folly = "the riper should by time decease"; # apologies to
+ will
$season = "rotten apple from the hoard"; # apologies to
+ geoff
@items = qw(gowns, shoes, roses, cap, kirtle, posies);
@accessories = qw(belt of straw, ivy buds, coral clasps, amber studs);
@joys = qw(date, age, need);
# === subroutines === #
sub TickTock
{
$time = localtime();
if (-e "/field/flocks" ) {
move("/field/flocks", "/field/fold") || die("cannnot move, $!\n
+");
}
print("\n$time\n\n");
}
# === main === #
if (($world_and_love <= 8) && ($shepherds_tongue)) {
move("/me/pretty_pleasures", "/thee/thy_love") || die("cannot move,
+ $!\n");
exit 0;
}
TickTock();
while (($rivers =~ m/rage/) && ($rocks >= 200)) {
$rocks -= 128;
$philomel -= 32;
push(@the_rest, qw(cares)) || warn("cares: complain\n\n");
}
undef($flowers);
$wanton_fields = "wayward winter reckoning";
@sorrows_fall = @fancys_spring = ("honey tongue", "heart of gall");
if (($folly =~ m/ripe/) && ($season =~ m/rotten/)) {
foreach $item (@items) {
undef($item);
}
}
unless (@accessories) {
move("/me/to_come", "/thee/thy_love") || die("cannot move, $!\n");
exit 0;
}
if (($youth) && (-e "/thee/thy_love")) {
unless(@joys) {
move("/me/delights", "/thee/thy_love") || die("cannot move, $!\
+n");
exit 0;
}
}
exit 1;
# eof