Sponsored Content
Top Forums Shell Programming and Scripting Perl: combine Backtick & system() I/O operation? Post 302425829 by pseudocoder on Sunday 30th of May 2010 03:48:14 PM
Old 05-30-2010
Quote:
Originally Posted by jeffw_00
well, first, apparently ActivePerl doesn't support Tee.
Maybe not out-of-the-box, but it certainly can be installed from CPAN, check the ppm command
Quote:
Originally Posted by jeffw_00
But if it did, are you saying this would work?
Nope. Check the Tee CPAN page for syntax: Tee @ CPAN

---------- Post updated at 21:48 ---------- Previous update was at 21:21 ----------

Try this:
Code:
#!/usr/bin/perl

use strict;
use warnings;

my @arr;

print "Output from screen:\n";

open(FROM, "ls |") or die "Could not open pipe: $!\n";

while (<FROM>) {
chomp;
print "$_\n";
push @arr, $_;
}

close(FROM);

print "Output from array:\n";

 foreach (@arr) {
 chomp;
 print "$_\n";
 }

 

10 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

Multi operation system in one pc.

Does anyone can write a thread to teach me how to install Windows 2000, RH Linux, and FreeBSD unix in one machine step by step? Or someone's already done with this topic? (1 Reply)
Discussion started by: HOUSCOUS
1 Replies

2. Ubuntu

where can i get the unix operation system?

I am a stranger here ,where can i get the operation for free.thank you! (2 Replies)
Discussion started by: tcb3210
2 Replies

3. UNIX for Dummies Questions & Answers

what does the operation '>&' mean in a shell script

hi, all, i saw a syntax like this usr/local/mpiexec -np 8 /home/XXXX/program_exe >& ./temp/out the output will be put into ./temp/out. I want to know the meaning of the operation symbol '>&'. Thanks (3 Replies)
Discussion started by: cy163
3 Replies

4. Shell Programming and Scripting

combine two perl lines into a single perl command

Hi Everyone, i have a string 00:44:40 so: $tmp=~ s/://gi; $tmp=~s/({2})({2})({2})/$1*3600+$2*60+$3/e; the output is 2680. Any way to combine this two lines into a single line? Thanks (4 Replies)
Discussion started by: jimmy_y
4 Replies

5. Shell Programming and Scripting

Perl: Backtick Errors

When trying to use backticks for system commands, is there a way to read the error messages if a command doesn't execute properly? I have no problem getting the results if the command is properly executed. Ex. my @result = `dir`; foreach my $line (@result) { print "Result = $line";... (2 Replies)
Discussion started by: kooshi
2 Replies

6. Linux

commands of linux operation system

Am actually am new to the linux operating system and knda wana knw more about it.Please could u help me with some commands so i can start with that first.Really need your help (5 Replies)
Discussion started by: GODBLESSME
5 Replies

7. UNIX for Dummies Questions & Answers

system calls and atomic operation

Are system calls atomic operations? Is a system call can be interrupted? (2 Replies)
Discussion started by: vistastar
2 Replies

8. Shell Programming and Scripting

Enter third column & Perform Operation

I am trying to enter a third column in this file, but the third column should that I call "Math" perform a some math calculations based on the value found in column #2. Here is the input file: Here is the desired output: Output GERk0203078$ Levir Math Cotete_1... (5 Replies)
Discussion started by: Ernst
5 Replies

9. AIX

Monitoring AIX with System Center Operation Manager 2007 R2

I can get my AIX servers to show up in SCOM but I'm struggling with running personal scripts and have the result of these scripts show up in SCOM. I'm currently using BigBrother and I've written some scripts for BB. I would like to convert these scripts to something that can be used in SCOM. ... (0 Replies)
Discussion started by: petervg
0 Replies

10. Shell Programming and Scripting

Help me to perform count & group by operation in shell scripting?

Hi All, I want to display the distinct values in the file and for each distinct value how may occurance or there. Test data: test1.dat 20121105 20121105 20121105 20121105 20121106 20121106 20121106 20121105 I need to display the output like Output (2 Replies)
Discussion started by: bbc17484
2 Replies
Tee(3pm)						User Contributed Perl Documentation						  Tee(3pm)

NAME
IO::Tee - Multiplex output to multiple output handles SYNOPSIS
use IO::Tee; $tee = IO::Tee->new($handle1, $handle2); print $tee "foo", "bar"; my $input = <$tee>; DESCRIPTION
"IO::Tee" objects can be used to multiplex input and output in two different ways. The first way is to multiplex output to zero or more output handles. The "IO::Tee" constructor, given a list of output handles, returns a tied handle that can be written to. When written to (using print or printf), the "IO::Tee" object multiplexes the output to the list of handles originally passed to the constructor. As a shortcut, you can also directly pass a string or an array reference to the constructor, in which case "IO::File::new" is called for you with the specified argument or arguments. The second way is to multiplex input from one input handle to zero or more output handles as it is being read. The "IO::Tee" constructor, given an input handle followed by a list of output handles, returns a tied handle that can be read from as well as written to. When written to, the "IO::Tee" object multiplexes the output to all handles passed to the constructor, as described in the previous paragraph. When read from, the "IO::Tee" object reads from the input handle given as the first argument to the "IO::Tee" constructor, then writes any data read to the output handles given as the remaining arguments to the constructor. The "IO::Tee" class supports certain "IO::Handle" and "IO::File" methods related to input and output. In particular, the following methods will iterate themselves over all handles associated with the "IO::Tee" object, and return TRUE indicating success if and only if all associated handles returned TRUE indicating success: close truncate write syswrite format_write formline fcntl ioctl flush clearerr seek The following methods perform input multiplexing as described above: read sysread readline getc gets eof getline getlines The following methods can be used to set (but not retrieve) the current values of output-related state variables on all associated handles: autoflush output_field_separator output_record_separator format_page_number format_lines_per_page format_lines_left format_name format_top_name format_line_break_characters format_formfeed The following methods are directly passed on to the input handle given as the first argument to the "IO::Tee" constructor: input_record_separator input_line_number Note that the return value of input multiplexing methods (such as "print") is always the return value of the input action, not the return value of subsequent output actions. In particular, no error is indicated by the return value if the input action itself succeeds but subsequent output multiplexing fails. EXAMPLE
use IO::Tee; use IO::File; my $tee = new IO::Tee(*STDOUT, new IO::File(">tt1.out"), ">tt2.out"); print join(' ', $tee->handles), " "; for (1..10) { print $tee $_, " " } for (1..10) { $tee->print($_, " ") } $tee->flush; $tee = new IO::Tee('</etc/passwd', *STDOUT); my @lines = <$tee>; print scalar(@lines); AUTHOR
Chung-chieh Shan, ken@digitas.harvard.edu COPYRIGHT
Copyright (c) 1998-2001 Chung-chieh Shan. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
perlfunc, IO::Handle, IO::File. perl v5.12.3 2001-03-10 Tee(3pm)
All times are GMT -4. The time now is 04:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy