#!perl
use strict;use warnings;
use IPC::Transit;
use Getopt::Std;
my $opts = {};
getopt('P', $opts);
if($opts->{P}) {
$IPC::Transit::config_dir = $opts->{P};
print "Using alternative Transit config dir: $IPC::Transit::config_dir\n";
}
my $message_text = shift or die 'perl message required';
my $qname = shift or die 'qname required';
my $destination = shift;
our $message;
eval '$message = ' . $message_text;
die "the perl message passed in first argument is invalid: $@" if $@;
die "the perl message passed in first argument is empty" unless $message;
die "the perl message passed in first argument is not a reference"
unless ref $message;
die "the perl message passed in first argument is not a HASH reference"
unless ref $message eq 'HASH';
print IPC::Transit::send(qname => $qname, message => $message, destination => $destination), "\n";