in reply to Passing ouput between program

You're kinda vague on what the problem is, using pipes or creating a perl-program that uses STDIN as input. So perhaps you'll find my comment utterly redundant.

STDIN can be read line-by-line with:

while(<>){}

Each line is assigned to $_. Now you can print a specific line to STDOUT if it matches a centain $expression:

print if /$expression/;

Or only print the part of that line if it matches:

print $1 if /($expression)/;

Everything together

while(<>){print if /$expression/;}

You could also use a commandline thingy like:

perl -ne 'print if /myword/;'

Where -n tells Perl to automatically wrap a while(<>){} around your code.

Look at tachyons comment for pipes