我在Perl中编写了一个包含某个函数的库,它将有关服务器的信息作为字符串返回.我可以直接从shell调用此函数吗?
我的老板问道:"你能暂时直接从外壳打电话吗?" 因为他说,我认为我应该能够做到,但我该怎么做呢?
Axe*_*man 10
perl -MServerlib=server_information -e 'print server_information()'
Run Code Online (Sandbox Code Playgroud)
另一种方法是这样做,但只有当Serverlib导出server_informationsub时.如果没有,则需要执行以下操作:
perl -MServerlib -e 'print MServerlib::server_information()'
Run Code Online (Sandbox Code Playgroud)
由于perl的命令行参数有点难以理解,我将它包装在一个更简单的调用函数的perl脚本中.例如,创建一个serverinfo包含以下内容的脚本:
#!/usr/bin/perl
require 'library.pl';
say library::getServerInformation();
Run Code Online (Sandbox Code Playgroud)
然后运行:
chmod u+x serverinfo
Run Code Online (Sandbox Code Playgroud)
这样做的好处是,如果函数本身发生变化,脚本的输出和参数可以得到纠正.像这样的命令行脚本可以被认为是一个API,在实现更改时不应该更改.