问题描述
|
假设我的XML文件在一行中有多个“ 0”标签。我正在逐行阅读文档。我如何计算每一行中有多少这些标签?我想要类似的东西:
foreach \"<Timestamp>\" in $line {
print \"FOund\";
}
@H_404_3@
任何想法?
解决方法
while ($line =~ /<Timestamp>/g) {
print \"Found\\n\";
}
应该可以。 /g
修饰符在那里很重要。请参阅第4章“在Perl中使用正则表达式”,它涉及全局匹配。
,是XML,use
XML::Twig
:
my $twig = XML::Twig->new( twig_roots => { Timestamp => 1 });
$twig->parsefile( $xml_file_path );
my $timestamp_count = ( my @a = $twig->root->children( \'Timestamp\' ));
,\'redo \'控制语句重新启动当前语句块的执行。您可以使用它来编写类似:
foreach $line (<>)
{
$tag = $line =~ m/(<.*>)/;
push @tags,$tag;
if( $tag ) redo;
}
警告,我还没有运行。
希望能有所帮助。