Using Perl programming language, design a program that scans a given file for a user-specified string and replaces every occurrence of this string with another user-specified string. The program should be capable of handling large files efficiently and should not modify the rest of the text in the file. It should be well-commented and follow best coding practices for readability and maintainability. The final program should also have a user-friendly interface that prompts the user for input and provides clear instructions and error messages.
This prompt doesn't seem malicious.