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

如何从shell脚本调用Perl函数?,perl,scripting,Perl,Scripting,我用Perl编写了一个库,其中包含一个函数,该函数以字符串形式返回有关服务器的信息。我可以直接从shell调用这个函数吗 我的老板问我“你现在能直接从shell调用它吗?”因为他说,我想我应该能做到,但我该怎么做呢?由于perl的命令行参数有点难以理解,我会用一个简单的perl脚本来调用函数。例如,创建一个脚本serverinfo,其中包含: #!/usr/bin/perl require 'library.pl'; say library::getServerInformation();

我用Perl编写了一个库,其中包含一个函数,该函数以字符串形式返回有关服务器的信息。我可以直接从shell调用这个函数吗


我的老板问我“你现在能直接从shell调用它吗?”因为他说,我想我应该能做到,但我该怎么做呢?

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

#!/usr/bin/perl

require 'library.pl';
say library::getServerInformation();
然后运行:

chmod u+x serverinfo
这样做的好处是,如果函数本身发生更改,则可以更正脚本的输出和参数。像这样的命令行脚本可以看作是一个API,当实现发生变化时,它不应该改变

perl -MServerlib=server_information -e 'print server_information()'
是执行此操作的另一种方法,但仅当Serverlib导出
server\u信息时才可以。如果不导出,则需要执行以下操作:

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

嗯,如果没有人修改措辞,我想知道这是否真的是一个有价值的问题……这听起来更像是OP被要求做的事情。+1,但这还应该包括一个使用反勾号在变量中捕获打印输出的示例,以便在shell脚本中使用。