On Feb 1, 2008 9:26 AM,  <[EMAIL PROTECTED]> wrote:
> Hi All,
>
> I want to hide the standard output on the terminal when I am executing
> the Perl script. For example I am running this command
> "`/usr/atria/bin/cleartool lslock lbtype:$dep_lbl`;
>
> if the execution of this command failed then whatever output is coming
> on the terminal I want to hide that and I want to print my standard
> statement.
>
> Can I do that????
snip

This depends heavily on the shell you are using.  Under most (if not
all) Unix shells you can say

my $output = qx{/usr/atria/bin/cleartool lslock lbtype:$dep_lbl 2>/dev/null};

to redirect the file handle 2 (STDERR) to the bit bucket (/dev/null).


A better solution is not to use the qx// operator.  The IPC::Open3*
module lets you run a command with complete control over its STDIN,
STDOUT, and STDERR.

* http://perldoc.perl.org/IPC/Open3.html

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to