You have an extra bracket set around each one. it should be this.
Code:
sub EVENT_SAY {
if ($text=~ /Hail/i) {
quest::say("You look like a strong adventurer. Possibly you could take on this [problem] that ails our citizens of late.");
}
if ($text=~ /Problem/i) {
quest::say("You see, a brooding Dragon is in the sewers of Freeport. I need you to find him and slay him. If you bring me one of his teeth I will reward you greatly.");
}
if ($item1 == 00001){
quest::say("Ah yes, I heard the screeches. Congratulations $name!");
quest::summonitem("21820");
quest::shout("All praise $name!");
}
}
Also make sure you have at least 2 blank lines after the entire script.