Thanks for your reply, which confirms a nagging suspicion: (this is really a problem with Windows and STDIN, not perl or Vim).
You have to provide a range either at the colon prompt, by visual selection, or by motion selection.
Understood, the method used to provide the range (visual selection in the instant case) was intentionally edited out of the original post for simplicity sake. Moreover, that does not seem to be at issue since the 'sort' (binary) variant worked as expected, while the 'myfilter.pl' variant did not work (all other things held constant) ceteris paribus. If the range were not properly specified, both variants should have failed.
your node mentions Windows, and I don't have any form of vi on any of my Windows machines at the moment.
Windows appears to be the culprit here. There were some problems on Linux but those were traced to script permissions. Moreover, none of the other suggestions in this thread (so far) have worked on Windows ... all produce blank output where the stuff from STDIN should be ... the test tags appear, but not the 'filtered' text.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link
or How to display code and escape characters
are good places to start.