The FAQ suggests Switch::Plain so maybe try that?
In reply to Re^3: Infinite LOOP and reading from STDIN (avoid "given") by hippo in thread Infinite LOOP and reading from STDIN by Glivter