Не печатает ли TRUE и возвращает TRUE одновременно?
Так, например, использование cat вместо печати изменит результат ...
Это в основном связано к комментарию Ольферов.