MESSAGE-PASS(1p)
π message-pass β the it-girl of Message::Passing π
okay so bestie, welcome to MESSAGE-PASS(1p), part of the User Contributed Perl Documentation family. This is the command line runner script for Message::Passing, and honestly? It's giving pipeline realness. Let's get into it. π¦
β¨ SYNOPSIS β¨
Like, the whole entire vibe:
message-pass [options]
Options:
--input - Input short name (required)
--output - Output short name (required)
--filter - Filter short name (default Null)
--decoder - Decoder short name (default JSON)
--encoder - Encoder short name (default JSON)
--input_options - JSON options string for input
--output_options - JSON options string for output
--filter_options - JSON options string for filter
--decoder_options - JSON options string for decoder
--encoder_options - JSON options string for encoder
OR, if you're feeling extra (config-file girlie):
--configfile - Config file (to load with Config::Any)
supplying the above options
πΈ DESCRIPTION πΈ
So what it does is build you a lil chain of Message::Passing components, and the chain looks exactly like this:
Input => Decoder => Filter => Encoder => Output
Which means: you take a message in from one protocol, decode it, process it, and then push it back out again β but encoded. Full glow-up, in and out. π
The simplest example ever, the one that just works:
message-pass --input STDIN --output STDOUT
and bestie, it will literally echo the JSON strings you type right back at the terminal. iconic behaviour, no notes.
π CLASS NAME EXPANSION π
Okay so here's the tea: every short class name gets expanded, and the expansions are listed below. EXCEPT for names prefixed with a '+' β that little plus means you're handing over a full class name, no expansion, done, periodt.
E.g.
message-pass --input '+My::Example::Input' --output STDOUT
And the expansions, bestie:
inputβ becomesMessage::Passing::Input::XXXoutputβ becomesMessage::Passing::Output::XXXfilterβ becomesMessage::Passing::Filter::XXXencoderβ becomesMessage::Passing::Filter::Encoder::XXXdecoderβ becomesMessage::Passing::Filter::Decoder::XXX
π§ CONFIG FILE π§
If you pass the --configfile option, then a config file gets used. That's the whole thing. π
The format of the data in that config file matches what the command line options want, e.g.
{
"input":"XXX",
"input_options":{},
"output":"XXX",
"output_options":{},
"filter":"XXX",
"filter_options":{},
"encoder":"XXX",
"encoder_options":{},
"decoder":"XXX",
"decoder_options":{}
}
Any config format that Config::Any supports? Slay, go off. BUT β and this is the important part β JSON is the only format which is certain to work without additional dependencies which are not required by this module. So if you don't wanna install extra stuff, stay in your JSON lane. π
π₯ SEE ALSO π₯
Message::PassingMessage::Passing::Manual
π SPONSORSHIP π
This module exists because of the wonderful people at Suretec Systems Ltd. <http://www.suretecsystems.com/> who sponsored its development for its VoIP division called SureVoIP <http://www.surevoip.co.uk/> for use with the SureVoIP API β <http://www.surevoip.co.uk/support/wiki/api_documentation>
shoutout to the sponsors fr fr, they ate π«Ά
π AUTHOR, COPYRIGHT AND LICENSE π
See Message::Passing.
and that's the whole page bestie!! this lil manual is from perl v5.32.1, dated 2021-11-09, and it lives under the MESSAGE-PASS(1p) header in the User Contributed Perl Documentation. mwah π go build a pipeline, you got this β¨π¦
π¦ where this page comes from
- debian bookworm: libmessage-passing-perl 0.117-1 Β· LGPL-2.1-only
- debian trixie: libmessage-passing-perl 0.117-1 Β· LGPL-2.1-only
- ubuntu jammy: libmessage-passing-perl 0.117-1 Β· LGPL-2.1-only
- ubuntu noble: libmessage-passing-perl 0.117-1 Β· LGPL-2.1-only
- ubuntu resolute: libmessage-passing-perl 0.117-1 Β· LGPL-2.1-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms