我在Perl中编写了一个包含某个函数的库,它将有关服务器的信息作为字符串返回。我可以直接从shell调用此函数吗?
我的老板问:“你能暂时直接从外壳打电话吗?”因为他这么说,我想我应该能做到,但我该怎么做呢?
答案 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,当实现发生变化时,它不应该改变。