in reply to Re: Effective way in perl
in thread Effective way in perl

I basically need to reduce my two-liner code to single line coz I will be handling similar situations in my remaining code. If I have repetation lines doing the same job , my code length will be too huge. How do I use unix tee in perl script, please advise

Replies are listed 'Best First'.
Re^3: Effective way in perl
by QM (Parson) on Jul 17, 2009 at 14:48 UTC
    You have:
    `$swlist -l depot @ $depot_locn | $grep $rel_string | $grep $i | $grep + AR >> blah`

    which isn't pure perl code anyway, is it? (It's convenient to call grep 3 times, but might be more efficient to do with Perl's own grep.) Here, you're using perl just like you would use sh.

    But to address your question, try:

    `$swlist -l depot @ $depot_locn | $grep $rel_string | $grep $i | $grep + AR | tee file1 | tee file2 | tee file3 >> tee file4`
    But if you need append, I don't think tee can do that.

    Also take a look at Regexp Quote Like Operators and What's wrong with using backticks in a void context?

    -QM
    --
    Quantum Mechanics: The dreams stuff is made of

      Well, my tee(1)'s (FreeBSD 6 & CentOS 5) have -a, same as --append, option.