in reply to Troll removal program

Not too bad, aside from small logic errors:
foreach my $offence(my @website)
You are declaring @website everytime the loops starts, thus it will always be empty, and no trolls will ever be warned...that is not good.
warn(my $troll);
Same type of thing here. You declare $troll inside the expression. The Troll variable is empty and so the warn function warns no one. The trolls run free once more.
until my $banned eq "true";
$banned will never be true this way. The trolls shall live on...and on and on and on. See above for why. I'm feeling very redundant right now.

This @ISA my cool %SIG