如何从shell脚本调用Perl函数?

时间:2009-05-26 01:34:01

标签: perl scripting

我在Perl中编写了一个包含某个函数的库,它将有关服务器的信息作为字符串返回。我可以直接从shell调用此函数吗?

我的老板问:“你能暂时直接从外壳打电话吗?”因为他这么说,我想我应该能做到,但我该怎么做呢?

2 个答案:

答案 0 :(得分:10)

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

是另一种方法,但只有当Serverlib导出server_information sub时。如果没有,则需要执行以下操作:

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

答案 1 :(得分:7)

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

#!/usr/bin/perl

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

然后运行:

chmod u+x serverinfo

以这种方式执行此操作的优点是,如果函数本身更改,则可以更正脚本的输出和参数。像这样的命令行脚本可以被认为是一个API,当实现发生变化时,它不应该改变。