1
我不太熟悉Perl,但我正在使用它来制作一个简单的脚本。该脚本将与Qualys进行交互,因此在查看有关Qualys API的信息时,我在查看其示例代码的同时发现了此声明。我已将它放在Pastebin.com(here)上,因此您不必下载它即可查看它。如果由于某种原因,你确实想自己下载它,here是一个链接到我为那些想要能够下载源代码的页面(它是“Get Map”之一)。了解这个对象创建语句
不管怎么说,这里是有我有点困惑的声明(线路261):
$request = new HTTP::Request GET => $url;
我感到困惑的new
和GET => $url
部分语句。
- 我想我大部分明白是怎么回事的语句
new
一部分,但如果有人能解释HTTP::Request
工作与创建一个新的LWP::UserAgent
这将有助于澄清这怎么行(我看着LWP :: UserAgent的在CPAN上,但他们在new
子程序解释下的“KEY/DEFAULT”表对我来说没有意义)。 - 我真的不知道发言中
GET => $url
部分发生了什么。我的猜测是它正在为HTTP::Request
或LWP::UserAgent
分配一个值,但我无法找到任何信息来备份该想法。
感谢您的执行说明。我从来不知道你可以通过将模块放在包的前面来调用'new'。 – 2012-07-31 15:37:01
你可以用任何类或对象方法来做到这一点。例如'request $ ua $ request;'可以用来代替'$ ua-> request($ request)'。大多数人只将它用于'new'('new Class @ args'),因为他们喜欢预先使用C++或Java,而对于'print'('print $ fh $ stuff')出于历史原因。假设他们使用它。 – ikegami 2012-07-31 15:42:45
而且不建议使用间接方法语法,因为它可能导致解析歧义。 – cjm 2012-07-31 16:01:12