在HTML::Element'中指定多个类;让我们看看例行程序Perl?
我正在使用解析一些HTML 能否在“”例程中指定多个类 用于在使用-在HTML::Element'中指定多个类;让我们看看例行程序Perl?,perl,class,for-loop,html-tree,Perl,Class,For Loop,Html Tree,我正在使用解析一些HTML 能否在“”例程中指定多个类 用于在使用- for ( $tree->look_down( 'class' => 'postbody')) 我还要在同一个循环中搜索另一个类'postprofile' 有没有一种方法可以不必为($tree->look_down('class'=>'postprofile')使用新的- 因为这会返回两组结果,而我只需要一组合并的结果 我尝试使用-for($tree->look_down('class'=>'postbody
for ( $tree->look_down( 'class' => 'postbody'))
我还要在同一个循环中搜索另一个类'postprofile'
有没有一种方法可以不必为($tree->look_down('class'=>'postprofile')使用新的-
因为这会返回两组结果,而我只需要一组合并的结果
我尝试使用-for($tree->look_down('class'=>'postbody | | postprofile'))
但这不管用,
提前谢谢。尝试使用模式而不是字符串,即
$tree->look_down( 'class' => qr/^(?:postbody|postprofile)$/)
Jambo,我不是想粗鲁,但请阅读手册。我为你的问题添加了链接 我假设您没有阅读这些文档,因为您无法找到它们。让我们来解决这个问题: 如何找到您需要的文档 在线:
- search.cpan.org是一个主要网站,用于搜索cpan模块及其文档。那里有很多东西
- perldoc.perl.org在线提供了几个最新版本的perl的完整发布文档
显示了一个目录,列出了您可以阅读的文档的不同部分perldoc
是一种快速搜索perlfunc并仅查看一个函数信息的方法。这是一个超级方便的快速参考perldoc-f函数
将向您展示一个模块的文档perldoc Module::Name::Here
是阅读文档部分的示例,在本例中是关于POD格式的文章perldoc-perlpod
$somevar->look_down(blarg)
。查找$somevar
的来源。这是什么东西?最糟糕的情况是,您发现这是其他调用的结果,现在您必须找到该调用的文档,并查看返回的内容。但步骤是一样的。递归地推进。最终,您将获得my$tree=HTML::TreeBuilder->new\u from\u content()
或类似的内容。现在,您可以从HTML::TreeBuilder中的内容文档中读取新内容。嘿,我们得到了一个HTML::Tree对象,它是HTML::Element的子类!所以我们检查两个类。哇,look_down在HTML::Element中
如果您有从其他模块导入的例程,那么这就有点棘手了。希望您的代码的作者考虑得足够周到,能够明确列出其例程的来源:
use Some::Module qw( useful_sub confusing_sub );
这意味着有用的子模块
和混乱的子模块
来自Some::Module
如果你不走运,你的作者只写了使用Some::Module代码>这意味着您将获得所有默认导出。这意味着您需要阅读文档以了解导入的内容
出于可维护性的考虑,您可以通过始终精确地指定从函数导入的例程来减少这一噩梦。如果不想导入任何内容,可以将其指定为:usesome::Module()代码>
在寻找普通子名称时,记住它们可能是实际函数会有所帮助。所以别忘了搜索perldoc
最后,我希望你觉得这很有用。R-ing TFM是一种惊人的强大技术,学习如何找到相关文档是打开这种力量的隐藏技能。Perl有大量文档需要浏览,当您不知道在哪里查找时,它可能会让人感到害怕。我希望这里可以使用普通的逗号来代替胖逗号。是的,我确实觉得它很有用,非常有用。