You're using one of my pet-peeve style errors:
sub random_alignment { my $type = shift; if ($type eq 'parts') { return $parts[rand @parts]; } elsif ($type eq 'good_vs_evil') { return $good_vs_evil[rand @good_vs_evil]; } elsif ($type eq 'lawful_vs_chaotic') { return $lawful_vs_chaotic[rand @lawful_vs_chaotic]; }
After a return there can never be an else. the sub returns, so this much better reads like this:
sub random_alignment { my $type = shift; if ($type eq 'parts') { return $parts[rand @parts]; } if ($type eq 'good_vs_evil') { return $good_vs_evil[rand @good_vs_evil]; } if ($type eq 'lawful_vs_chaotic') { return $lawful_vs_chaotic[rand @lawful_vs_chaotic]; }
And personally, I'd go even further:
sub random_alignment { my $type = shift; $type eq "parts" and return $parts[rand @parts]; $type eq "good_vs_evil" and return $good_vs_evil[rand @good_vs_ +evil]; $type eq "lawful_vs_chaotic" and return $lawful_vs_chaotic[rand @law +ful_vs_chaotic];
Clean, short code. Beautiful, right?
In reply to Re: Lady Aleena's first working module
by Tux
in thread Lady Aleena's first working module
by Lady_Aleena
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |