Fungerar finfint för mig... if-villkoret är alltså sant. Du kör inte någon gammal perl-interpreter? Är du säker på att variablerna verkligen har det värdet när if-satsen körs?
Det funkar som sagt när jag kör det, men du kan ju prova att sätta sammanslagningen inom parentes, men det borde inte behövas.
if($a eq ('+o'.$botname)){