如何在Perl中设置MQSeries

时间:2016-05-12 02:08:04

标签: perl unix ibm-mq

我被分配了将请求消息发送到Websphere MQ队列并使用perl脚本侦听响应消息的响应队列。

我有MQ的经验但不是Perl脚本..

我在gol模块上搜索了一些名为" CPAN mqseries module"可用于集成WBI MQ。

但是,我不知道如何在我的unix环境中设置它。 我给了我的unix团队以下链接

即使我的unix团队也不了解设置,他们也在询问软件是否包含RPM软件包或AIX二进制文件" ..但我不知道他们在哪里。 他们对如何使用CPAN进行设置一无所知。

我尝试复制for %F in (*[*]*.mp4) do @for /f "delims=[] eol=[ tokens=2" %A in ("x%F") do @md "c:\[%A]" 2>nul&move "%F" "c:\[%A]" >nul 中的所有.pm文件,我从mqseries.1.34下面的链接下载了如何在尝试调用只加载模块的一些示例perl时出现跟踪错误。

这里我附上了我的示例脚本。

/usr/opt/perl/5.8.8/lib/

在脚本上方运行时出现以下错误

package myMQModule;

use strict;
use warnings;

use MQSeries;
use MQSeries::QueueManager;
use MQSeries::Queue;
use MQSeries::Message;


1; # end with a true value

所以我需要有关如何在我的unix环境中设置"functions" is not defined in %MQSeries::EXPORT_TAGS at /usr/opt/perl5/lib/5.8.8/aix-thread-multi/MQSeries/QueueManager.pm line 20 Can't continue after import errors at /usr/opt/perl5/lib/5.8.8/aix-thread-multi/MQSeries/QueueManager.pm line 20 BEGIN failed–compilation aborted at /usr/opt/perl5/lib/5.8.8/aix-thread-multi/MQSeries/QueueManager.pm line 20 模块的帮助,是否有任何相同的指南。 你们高度赞赏.. 请帮助!!!!

1 个答案:

答案 0 :(得分:0)

最好不要手动安装Perl模块。您已找到cpanminus,这是为您安装模块的好工具,但您需要先安装它。从metacpan站点这里有安装cpanminus的说明:

curl -L https://cpanmin.us | perl - --sudo App::cpanminus 

注意,它确实需要超级用户权限。

安装cpanminus后,使用它从shell正确安装MQSeries模块:

cpanm MQSeries
cpanm MQSeries::QueueManager
etc

如果有任何依赖关系,cpanminus将为您处理这些问题。

注意:某些模块具有二进制组件,可能需要使用开发工具(gcc等)来构建它们。

转到您的脚本。你在那里写的是一个模块,而不是一个脚本。如果你写一个脚本来"使用"您的模块您可以将功能放入模块并从脚本中调用它们,例如:

#!/usr/bin/env perl
use strict;
use warnings;
use myMQModule;

my $ret_val = myMQModule::some_func();
.
.

我认为你需要首先确保你的模块安装正确,然后安装cpanm并尝试安装模块,如果模块安装正确,它将报告你有最新版本,不再做了。< / p>