Well one of the main problems is how your checking class
i am guessing your trying to do somthing similar to if($text~= /hail/) and using the / becuase of that.
but actually since your only checking the actual value of the vairable $class, you don't need the / char. and actually its even better to use the text operators to check it instead of the numberical ones.
e.g.
Code:
if($class eq "Rogue")
So this will check their class and if it eq (equals) the string "Rogue" then its true.
Other than that as AP said check your bracket count make sure that you don't have more { than } and make sure that they are all contained in the correct code blocks, otherwise you will get events going off when you don't want them too.
one thing i think AP said it but not sure, this isn't like BASIC, you need to close a code block before and else statment is produced.
e.g.
Code:
if($var1 == 1)
{
do this
}
elsif ($var1 == 2)
{
do this
}
else
{
do this
}
Another thing about perl, you CANNOT use else if, it doesn't compile, you must use the perl term elsif (only one 'E' and no spaces). Add all this into it and it should compile correctly and execute.
since your using perl you can just open a command prompt, naviagte to your eqemu quests directory and (ex. C:\EQEMu\quests\tutorial for tutorial zone) and type at the command prompt
for quest on mob number 23, and it will try to compile, if you get any errors it will tell you what they are and where to fix them, if it doesn't give you any output period it means it compiled correctly and is ready to use =)