2009-05-26 51 views
3

我已经用Perl编写了一个库,它包含一个特定的函数,它将有关服务器的信息作为字符串返回。我可以直接从shell调用这个函数吗?如何从shell脚本调用Perl函数?

我的老板问:“你能暂时从shell直接调用它吗?”因为他说,我认为我应该可以做到,但我该怎么做呢?

+0

你试过`man perl`吗? – Ismael 2009-05-26 01:39:14

+0

嗯,我不知道这是否真的是一个有价值的问题,如果没有人修复措辞... ... – Mark 2009-05-26 01:54:25

回答

7

由于perl的命令行参数有点难以理解,我会将它封装在一个简单的perl脚本中,该脚本调用该函数。例如,创建一个脚本serverinfo其中包含:

#!/usr/bin/perl 

require 'library.pl'; 
say library::getServerInformation(); 

然后运行:

chmod u+x serverinfo 

这样做的好处是,如果函数本身的变化脚本的输出参数可以被纠正。像这样的命令行脚本可以被认为是一个API,当实现改变时它不应该改变。

10
perl -MServerlib=server_information -e 'print server_information()' 

是另一种方式来做到这一点,但只有当Serverlib出口server_information分。如果没有,你需要做下面的代替:

perl -MServerlib -e 'print MServerlib::server_information()'