You're missing parentheses around the 35 in quest::traindiscs(35). Try this:
Code:
#Quest file for Mesa - Scribe Anso
sub EVENT_SAY {
if($text=~/hail/i) {
quest::say("Hail $class. I can teach you your spells and tomes, up to the 35th level. Do you seek to learn " . quest::saylink("spells", 1) . " or " . quest::saylink("tomes", 1) . "?");
} elsif($text=~/spells/i) {
quest::scribespells(35);
} elsif($text=~/tomes/i) {
quest::traindiscs(35);
}
}