#!/usr/bin/perl
print "Content-type: text/html\n\n";
use strict;
my $stanzas = 4;
my $lines = 4;
my $prose_file = "prose";
my $words_file = "termz"; # taken from /usr/share/dict/words
my $debug = 0;
my @words = load_words();
my @proses = load_prose();
my $poem = generate_poem();
my $poem_number = poem_number();
my $align = random_align();
my $align2 = random_align();
my $valign = random_valign();
print "
\n
\n
\n
Computer Generated Random Poetry\n
\n
\n
\n
\n
\n
";
sub generate_poem {
my $poem = "\n";
my $stanza_number = 1;
while ($stanza_number <= $stanzas) {
my $line_number = 1;
while ($line_number <= $lines) {
my $prose = $proses[rand(int(@proses))];
while ($prose =~ m/RAND/) {
$prose =~ s/RAND/$words[rand(int(@words))]/;
}
$prose =~ s/\n//g;
$prose =~ s/\'s//g;
$prose = lc($prose);
$poem .= "$prose\n";
$line_number++
}
$poem .= "\n";
$stanza_number++;
}
return $poem;
}
sub load_prose {
open(FILE, $prose_file);
my @lines = ;
close(FILE);
return @lines;
}
sub load_words {
open(FILE, $words_file);
my @lines = ;
close(FILE);
return @lines;
}
sub poem_number {
my $random_number = int(rand(9999999999));
return $random_number;
}
sub random_align {
my @alignments = ("left", "center", "right");
return $alignments[rand(int(@alignments))];
}
sub random_valign {
my @alignments = ("top", "middle", "bottom");
return $alignments[rand(int(@alignments))];
}