Hello,
1) You can't have duplicate goto label, eventually you were lucky before that the code was never processed in a way which made this error apparent
2) The if statement error is happening regardless of the goto issue:
let's break the elseif down:
elseif
(($regex($1-,%purge)) &&
($regml(1) = permit) &&
($nick isop #) &&
($$2 ison #) &&
($$2 !isop) &&
%Link. [ $+ [ $chan ] ] == off) {
^ this ')' is not closing anything, add a '(' before '%Link.'