Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

The Nymph's Reply to the Shepherd

by frost_knight (Novice)
on Nov 06, 2012 at 17:10 UTC ( #1002528=poem: print w/ replies, xml ) Need Help??

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

Comment on The Nymph's Reply to the Shepherd
Download Code
Re: The Nymph's Reply to the Shepherd
by davies (Vicar) on Nov 07, 2012 at 11:30 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: poem [id://1002528]
Front-paged by bulk88
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2015-07-06 04:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (70 votes), past polls