if anyone could give me some pointers, that would be uber.
Whenever you catch yourself typing the same expressions more than two times, give it a break and think: "Can I somehow express this in a loop?". In this case the outcome of such a thought would look like this code.
use strict;
my @haiku =
(
[
'annoying sensei',
'oh, young grasshopper',
'dis-honourable',
'you aburi brain'
],
[
'learn to run before you walk',
'he thinks he knows everything',
'insubordinate pupil',
],
[
'hey, wait a minute',
'he must be senile',
'he will face my wrath',
'his brain is not well'
],
);
for my $line (0..2)
{
print $haiku[$line][rand @{$haiku[$line]}], "\n";
}
Here we have a data structure (array of arrays) that holds your haiku strings. Once we have that we can easily loop over the main array an choose a random line from each "sub-array". See perlref and perlreftut for more about data structures.