2011-04-14 17 views

回答

3
while ($line =~ /<Timestamp>/g) { 
    print "Found\n"; 
} 

應該做的伎倆。那裏的/g修飾符很重要。請參見perlretut中的Using regular expressions in Perl,它具有全局匹配的一部分。

+0

是啊!感謝它的工作!你能解釋一下嗎? – Nidis 2011-04-14 10:11:51

+0

@Nidis:添加了解釋的鏈接。 – Mat 2011-04-14 10:12:52

0

'重做'控制語句重新啓動當前語句塊的執行。你可以用它來寫這樣的東西:

foreach $line (<>) 
{ 
    $tag = $line =~ m/(<.*>)/; 
    push @tags, $tag; 
    if($tag) redo; 
} 

被警告,我沒有運行這個。

希望有所幫助。

1

這是XML,useXML::Twig

my $twig = XML::Twig->new(twig_roots => { Timestamp => 1 }); 
$twig->parsefile($xml_file_path); 
my $timestamp_count = (my @a = $twig->root->children('Timestamp')); 
相關問題