Perl 将打印保存为变量
我有一个命令
print $_->{href} . "\n" for $mech->find_link_dom(text_regex => qr/pdf/i);
可以打印出我想保存为变量的确切链接。尽管当我尝试这样做时却
my $link = $_->{href} . "\n" for $mech->find_link_dom(text_regex => qr/pdf/i);
不起作用。
有什么想法吗?
I have a command
print $_->{href} . "\n" for $mech->find_link_dom(text_regex => qr/pdf/i);
that prints out the exact link I would like to save as a variable. Although when I try to do
my $link = $_->{href} . "\n" for $mech->find_link_dom(text_regex => qr/pdf/i);
it does not work.
Any thoughts?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您知道
$mech->find_link_dom(text_regex => qr/pdf/i)
仅返回一个元素,那么您可以这样写:如果它可以返回多个元素 - 或零个元素 - 那么也许你的意思是这样的:
If you know that
$mech->find_link_dom(text_regex => qr/pdf/i)
returns exactly one element, then you can write:If it can return multiple elements — or zero elements — then maybe you mean this:
您的第一个代码片段相当于:
第二个代码片段相当于:
因此,
$link
变量是for
块的本地变量,并且在该块之外不可见。如果您首先在块之外声明变量,它将起作用:或者,使用代码中的简短形式:
Your first code snippet is equivalent to:
The second is equivalent to:
So, the
$link
variable is local to thefor
block, and is not visible outside of that block. It will work if you first declare the variable outside of the block:Or, using the short form as in your code: