从 perl 站点打印头

发布于 2024-10-19 09:37:51 字数 156 浏览 7 评论 0原文

我需要一个 perl 内联脚本来打印在线文件的头部。例如:

perl -MLWP::Simple -e "print head \"http:stackoverflow.com\""

但是这个打印结果只有一行。我需要打印单独的行。

I need a perl inline script that prints the head section of an online file. For example:

perl -MLWP::Simple -e "print head \"http:stackoverflow.com\""

But this print results in one line. I need to print separate lines.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

冷情 2024-10-26 09:37:51

再一次 -

perl -MLWP::Simple -e 'print head("http://stackoverflow.com")->as_string'

更新,响应/输出 -

HTTP/1.1 200 OK
Cache-Control: public, max-age=60
Connection: close
Date: Fri, 25 Feb 2011 21:49:45 GMT
Vary: *
Content-Length: 194708
Content-Type: text/html; charset=utf-8
Expires: Fri, 25 Feb 2011 21:50:46 GMT
Last-Modified: Fri, 25 Feb 2011 21:49:46 GMT
Client-Date: Fri, 25 Feb 2011 21:49:46 GMT
Client-Peer: 64.34.119.12:80
Client-Response-Num: 1

为了完整性,再次更新。概括地说

perl -MLWP::Simple -e 'print head(shift||die"Give a URL\n")->as_string'

perl -MLWP::Simple -e 'print head(shift||die"Give a URL\n")->as_string' http://stackoverflow.com

,我喜欢 Perl,但这可能是这项任务的更好解决方案,

curl -I http://stackoverflow.com

尽管在这种情况下,curl 和 LWP 的 HEAD 响应有所不同。 :)

One more-

perl -MLWP::Simple -e 'print head("http://stackoverflow.com")->as_string'

Update, the response/output–

HTTP/1.1 200 OK
Cache-Control: public, max-age=60
Connection: close
Date: Fri, 25 Feb 2011 21:49:45 GMT
Vary: *
Content-Length: 194708
Content-Type: text/html; charset=utf-8
Expires: Fri, 25 Feb 2011 21:50:46 GMT
Last-Modified: Fri, 25 Feb 2011 21:49:46 GMT
Client-Date: Fri, 25 Feb 2011 21:49:46 GMT
Client-Peer: 64.34.119.12:80
Client-Response-Num: 1

Updated once more, for the sake of completeness. Generalized to take an argument–

perl -MLWP::Simple -e 'print head(shift||die"Give a URL\n")->as_string'

perl -MLWP::Simple -e 'print head(shift||die"Give a URL\n")->as_string' http://stackoverflow.com

And I love me teh Perl but this is probably a better solution for this task–

curl -I http://stackoverflow.com

Though the HEAD responses for curl v LWP differ in this case. :)

七七 2024-10-26 09:37:51

哦,我更喜欢这个。要求>5.10。

perl -MLWP::Simple -E "say for head q(http://stackoverflow.com)"
text/html; charset=utf-8
196768
1298660195
1298660255

Ooh, I like this far better. Requires >5.10.

perl -MLWP::Simple -E "say for head q(http://stackoverflow.com)"
text/html; charset=utf-8
196768
1298660195
1298660255
寄居者 2024-10-26 09:37:51

head() 调用返回一个列表。

该列表在打印时是通过连接各个元素来打印的。

相反,使用“\n”连接:

perl -MLWP::Simple -e "print join('\n', head(\"http:stackoverflow.com\"));"

另一种方法是将“\n”附加到每个元素(这更好,因为它也在末尾打印“\n”):

perl -MLWP::Simple -e 'print map { "$_\n" } head "http:stackoverflow.com";'

The head() call returns a list.

That list, when printed, is printed by concatenating individual elements.

Instead, join with "\n":

perl -MLWP::Simple -e "print join('\n', head(\"http:stackoverflow.com\"));"

An alternative is to append "\n" to each element (this is better as it prints "\n" at the end as well):

perl -MLWP::Simple -e 'print map { "$_\n" } head "http:stackoverflow.com";'
冰雪梦之恋 2024-10-26 09:37:51

您需要加入 head() 返回的列表。

perl -MLWP::Simple -e "print join qq(\n), head q(http://stackoverflow.com)"
text/html; charset=utf-8
196503
1298659282
1298659342

You need to join the list head() returns.

perl -MLWP::Simple -e "print join qq(\n), head q(http://stackoverflow.com)"
text/html; charset=utf-8
196503
1298659282
1298659342
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文