Bueno, la duda en sí ya está casi resuelta, pero no puedo dejar esto explicado así porque es casi un delito lo que acabas de decir :S
El compare se fijará si la variable tiene valor 1, cierto.
Pero el if no funciona como dices, de tener valor 1 la variable, irá a @pase. Si tiene cualquier otro...