in reply to autoconverting print to say

Since both print and say have output, and your main concern is avoiding alteration of that output when replacing one with the other, I think an automated replace should test your program's output (all variants of it) before and after the replace. If outputs don't differ, it means your automated replace has worked OK. If modified $/ (or other) bugs occur, a diff on outputs will scream out loud and clear!