Moin, noch mal!
Baue direkt vor der if-Anweisung doch mal einen Befehl ein, der Dir den Inhalt von $in{mode} ausgibt:
print "*".$in{mode}."*\n";
Die Sternchen sollen dabei Anfang und Ende markieren, um zum Beispiel auch Leerzeichen zu bemerken. So findest Du heraus, welche Zeichenketten Du eigentlich vergleichst (und nicht, welche Du zu vergleichen glaubst).
Norbert