2014-03-04 58 views
1

我使用LWP::UserAgentHTML::Parser來發送HTTP請求,我想在輸出中檢索匹配的字符串。這裏是輸出:爲什麼在解析這個HTML時會得到空白輸出?

OK - Number of results: 1 
Name: Catalina:type=Manager,path=/xxxxxx,host=localhost 

modelerType: org.apache.tomcat.util.modeler.BaseModelMBean 

sessionMaxAliveTime: 29034 

duplicates: 0 
maxInactiveInterval: 28800 

entropy: [email protected] 

activeSessions: 3 

sessionCounter: 7 

我想檢索activeSessions的值。我試過這個:

if ($response->content()=~/activeSessions:/) { 
    print ("$1 OK\n"); 
} 

但輸出是空白的。我也試過這個:

my $parser = HTML::Parser->new('text_h' => [ \&text_handler, 'dtext' ]); 
$parser->parse($response->decoded_content); 

sub text_handler { 
    chomp(my $text = shift); 

    if ($text =~ /activeSessions:/i) { 
     print "Matched: $1\n"; 
    } 
} 

但輸出仍然是空白的。爲什麼?的

+0

'$ 1'如果創建'()'捕獲組只設:'打印$ 1,如果$ foo的=〜/(正則表達式) /;' – ThisSuitIsBlackNot

回答

3

代替

if ($response->content()=~/activeSessions:/) { 
    print ("$1 OK\n"); 
} 

嘗試

if ($response->content()=~/activeSessions:\s*(\d+)/) { 
    print ("$1 OK\n"); 
} 
+0

偉大的感謝Vorsprung – Wanexa

相關問題