Arrays 生成变量的Perl脚本
我正在运行一个从网页中提取链接的脚本,但是每次网页上的内容发生变化时,网页都会输出不同数量的正确URL,这在这个脚本中非常常见。我的“约束”是$tco,它确保URL以onyl开头 这决定了满足我需要的URL的数量,这将打印“2”Arrays 生成变量的Perl脚本,arrays,perl,variables,grep,Arrays,Perl,Variables,Grep,我正在运行一个从网页中提取链接的脚本,但是每次网页上的内容发生变化时,网页都会输出不同数量的正确URL,这在这个脚本中非常常见。我的“约束”是$tco,它确保URL以onyl开头 这决定了满足我需要的URL的数量,这将打印“2” my @found = (grep /$tco/, @links); if (@found) { for my $url (@found) { print "$found[0]\n"; print "$found[1]\n"; } }
my @found = (grep /$tco/, @links);
if (@found) {
for my $url (@found) {
print "$found[0]\n";
print "$found[1]\n";
}
}
这将打印accual URL。在本例中,有两个URL。前任
我是否可以让perl脚本重新识别以t.co开头的URL的数量,并根据$tconike(可用URL的数量)的输出添加更多变量($found[0]和$found[1])
当我稍后使用WWW::Mechanize在URL上填写表单时,我需要访问URL。正如choroba所说,您不需要这样做。您只需使用
打印“$url\n”
,而不是单独使用每个数组元素,因为它将为@found
中的每个元素调用循环块
如果仍然需要基于URL数量的更多变量,可以执行以下操作。但这不是您应该在生产中使用的代码。事实上,不要使用它。这是可行的,但它只是一个玩笑。:)
my$code;
my@found=(grep/$tco/,@links);
如果(@found){
对于(my$i=0;$iWhy您需要它?您只需对于my$url(@found){print“$url\n”}
。我需要将URL与WWW::Mechanize一起使用,这样我就需要它们作为变量,这样我就可以访问它们,并且有多个变量,所以我需要它来赚更多的$found,至少我认为它们已经在@found
中了。你应该从阅读Perl初学者教程开始。看起来你还没有真正意识到自己是什么正在做。试着找一些好的参考资料。你有推荐我看的某个部分吗?
my @found = (grep /$tco/, @links);
if (@found) {
for my $url (@found) {
print "$found[0]\n";
print "$found[1]\n";
}
}
my $code;
my @found = (grep /$tco/, @links);
if (@found) {
for (my $i=0; $i<= $#found; $i++) {
$code .= q{print "$found[$i]\n"} . qq{\n};
}
eval $code for @found; # this is very evil
}