perl piped open - reading data from a system process?
Perl Piped Open:
open function is very useful for reading or writing the data files on the system and apart from this file processing we can use pipe symbol for getting data from a system process or sending the data to a system process can be achieved. lets try this now,
Method 1: [Calling process command by using Shell]
NOTE:
1.If we open a process for file writing, it is necessary to setup handler to SIGPIPE.
2.we are setting the file handler for catching errors of closed process or undefined process .
3. %SIG is used for handing the errors,
kaavannan perl blogspot
open function is very useful for reading or writing the data files on the system and apart from this file processing we can use pipe symbol for getting data from a system process or sending the data to a system process can be achieved. lets try this now,
Method 1: [Calling process command by using Shell]
open (my $SSH, "ssh $hostname cat $filename |") or die "Can’t open pipe: $!";
while(<$SSH>) { print; } close $SSH or die "Unable to close: $! -- $?";
Method 2:[using More than one argument]
open (my $SSH, "-|", "ssh", "$hostname", "cat", "$filename") or die "Can’t open pipe: $!";
while(<$SSH>) { print; } close $SSH or die "Unable to close: $! -- $?";
NOTE:
1.If we open a process for file writing, it is necessary to setup handler to SIGPIPE.
2.we are setting the file handler for catching errors of closed process or undefined process .
3. %SIG is used for handing the errors,
my $SIG{PIPE} = sub { die "Pipe is cosed." }; open(my $output, "| $processcommand") or die $!; print {$output} "Sample text"; close $output or die "Unable to close: $! -- $?";
Labels: kaavannan perl blogspot, perl open pipe for reading, perl open pipe to command, perl pipe example, perl pipe input, perl read from pipe, pipe into perl one liner
0 Comments:
Post a Comment
Note: only a member of this blog may post a comment.
<< Home