Hi,
you would only use the pipe if there was some command that produces some output that you want to catch (e.g. open(CMD, 'ls -l |')). If you only want to open a file for reading, you shouldn't use the pipe operator. See open for details.
Regards,
svenXY