Quoth BrowserUk,
I don't get this.
You (or someone) is using a "unix filter" perl script at the command line.
You are concerned that you (or they) might accidentally (or maliciously) type a dangerous command in place of a filename as input to that script.
What is to stop you (or they) from entering that command directly into the command prompt you (or they) are using?
The program might run with other privileges than those of the user. This is a fairly common scenario, and the "Unix-like filter program" pattern is intended to fit into it.
Writing to standard output, e.g., is also part of the strategy to avoid overwriting arbitrary files. If the user employs redirection to write the output to a file, this file will be (or fail to be) created according to the user's privileges. Conversely, if the user just told the program where to put the output, the program would have to worry about doing this safely. This would add complexity.