Hi!

When using perl, you can pipe in your commands by using this:

while(<STDIN>){ print "Current line is storaged in: ".$_; chop; print "Current line without new line character: ".$_."\n"; }

For example: cat /etc/services | perl foo.pl

STDIN can be changed to STDERR. Whitout input, acts like read in bash (i think its the same in ksh).

There is also an operator called "diamond operator", which is represented by "<>", and means "whatever file passed as an argument, or whatever is piped into":

while(<>){ chop; print "I have $_ as input\n"; }

For example: perl foo.pl /etc/services /etc/hosts

From here, you can operate $_ (current line) in any way you like, using regex, awk like operations, etc. You can save your converted text by redirecting output to a file from command line, or inside your perl script.

Tip: Syntax used for regex in sed is very similar than the one used in perl.

For a translation from awk to perl, you can try "a2p" (man a2p).

In reply to Re: Filters within a filter... by fauria
in thread Filters within a filter... by mw

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.