The prefix and the filename may be separated with spaces.
Open returns nonzero upon success, the undefined value otherwise.
If the open involved a pipe, the return value happens to be the pid of the subprocess. The key distinction between systems that need binmode and those that don't is their text file formats. The rest need it. When opening a file, it's usually a bad idea to continue normal execution if the request failed, so open is frequently used in connection with die . The infrequent exception is when working with an unopened filehandle is actually what you want to do.