Or, since you're just taking the chr value of each of
those numbers, just use map:
my @whirley = map chr, qw/32 176 177 178 219 178 177 176/;
Then you don't have to bother with split and all that.
Also, the whirley function could use some
work (particularly since it gives a warning):
sub whirley {
$WHIRLEY_COUNT = 0 if ++$WHIRLEY_COUNT == @whirley;
return $whirley[$WHIRLEY_COUNT];
}
The most important change here is the return line. You
were taking an array slice:
return "@whirley[$WHIRLEY_COUNT]";
which isn't what you want to do; you just want a single
element (and you don't need the quotes):
return $whirley[$WHIRLEY_COUNT];