I can handle the external program. With suitable options it takes input from stdin, writes out to stdout and stderr.

E.g. the following works:

cat foo.md | multimarkdown | wc

(But why would you want to count html kibbles?)

If it helps, assume that I'm filtering through cut, or sort or sed or awk.

WHICH external program is irrelevant to the discussion.

Indeed, what I think I'm looking for is a generic pipe module that can be renamed and used with a single line edit, or that the command to be run is passed as a parameter.

The part you breeze over is the part I'm having trouble with.

Below is the content of Template/Plugin/MultiMarkdown.pm

It in turn makes reference to Text::MultiMarkdown

#$Id: MultiMarkdown.pm 4103 2009-03-02 20:41:50Z andrew $ package Template::Plugin::MultiMarkdown; use strict; use base qw (Template::Plugin::Filter); use Text::MultiMarkdown; our $VERSION = 0.03; sub init { my $self = shift; $self->{_DYNAMIC} = 1; $self->install_filter($self->{_ARGS}->[0] || 'multimarkdown'); return $self; } sub filter { my ($self, $text, $args, $config) = @_; my $m = Text::MultiMarkdown->new(%{$config || {}}); return $m->markdown($text); } <readmore> 1; __END__ =head1 NAME Template::Plugin::MultiMarkdown - TT plugin for Text::MultiMarkdown =head1 SYNOPSIS [% USE MultiMarkdown -%] [% FILTER multimarkdown %] #Foo Bar --- *Italic* blah blah **Bold** foo bar baz [%- END %] =head1 DESCRIPTION Template::Plugin::MultiMarkdown is a plugin for TT, which will format your text with MultiMarkdown Style. =head1 SUBROUTINES/METHODS There are two methods required by the TT plugin API: =over 4 =item C<init()> =item C<filter()> =back =head1 VERSION This man page describes version 0.03. =head1 SEE ALSO L<Template>, L<Text::MultiMarkdown>, L<http://fletcherpenney.net/multi +markdown/> =head1 AUTHOR Andrew Ford E<lt>A.Ford@ford-mason.co.ukE<gt> (based on the L<Template::Plugin::Markdown> TT plugin by Naoya Ito E<lt>naoya@bloghackers.netE<gt>). =head1 LICENSE AND COPYRIGHT Copyright (C) 2009 Andrew Ford This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut </readmore>

So, I copy this to MultiMarkdownBin

It no longer uses Text::Markdown so I can eliminate that.

I need something from one of the 284 different IPC modules.

Which one?

WHAT do I replace in the above code?

I am so far from enlightenment, that I'm waiting between photons.


In reply to Re^4: Replacing perl module with external program by sgbotsford
in thread Replacing perl module with external program by sgbotsford

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.