I just tested yours...
open PH, "ps -ef|" or die;
The result was not to the screen or STDOUT. The command was run like if you used the "system" function.
It executed the command but didn't return it's output. I'm not nearly even close as being as good at Perl as you but
maybe you got the pipe placement screwed up. (I could be dumb and I'm not understanding what this guy really wants) but my
version of it does return the "ps -ef" commands output to the screen on STDOUT. I know my way isn't common but it's a really nice hack and works really good for what I use it for.
Well I'm just offering what I thought the guy wanted.
Perl is a lot of fun now that I'm understanding it better.