我正在尝试使用perl API从网站中提取数据.该过程是使用uris列表作为输入.然后我从网站上提取每个uri的相关信息.如果一个uri的信息不存在,它就会死亡.有点像下面的代码
my @tags = $c->posts_for(uri =>"$currentURI");
die "No candidate related articles\n" unless @tags;
Run Code Online (Sandbox Code Playgroud)
现在,我不希望程序停止,如果它没有得到任何标签.我希望程序跳过那个特定的uri并转到下一个可用的uri.我该怎么做?感谢您的时间和帮助.
谢谢Sammed
好吧,假设你在一个循环中依次处理每个URI,你应该能够做到这样的事情:
next unless @tags;
Run Code Online (Sandbox Code Playgroud)
例如,以下程序仅打印数字行:
while (<STDIN>) {
next unless /^\d+$/;
print;
}
Run Code Online (Sandbox Code Playgroud)
循环依次处理每个输入行,但是当找到一个与正则表达式(全数字)不匹配时,它会重新启动循环(对于下一个输入行)而不打印.
如果没有标记,则在上面的第一个代码块中使用相同的方法重新启动循环,移动到下一个URI.