in reply to Pipe dream
The grep case might warrant its own special syntax, like# chain_lines takes a list of coderefs # The first sub in the chain is called with no input; subsequent one +s are called # with $_ set to the line from the previous sub; the iterator return +s one line of # output from the last sub in the chain. If a sub yields undef, proc +essing # restarts at the first sub. When the first sub yields undef, the it +erator is done. my $i = chain_lines sub { <$in> }, sub { /^42/ ? $_ : undef }, # grep sub { join "\t", (split /\t/)[1,3,8] }; # all_lines expands the iterator into a list of lines sort all_lines($i);
grep_lines {/^42/}
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Pipe dream
by diotalevi (Canon) on Sep 09, 2005 at 18:03 UTC | |
by Roy Johnson (Monsignor) on Sep 09, 2005 at 18:09 UTC | |
by diotalevi (Canon) on Sep 09, 2005 at 18:10 UTC |