2009-11-01 79 views
1

我是新來的Perl和圍繞屏幕抓取和正則表達式。我試圖以提取下列HTML塊的「標題」名稱:爲什麼我的Perl不匹配運算符匹配任何東西?

... title="The Valley Downs Chicago"><img class="vimg120" ... 

我簡單的Perl代碼,這樣做是:

@htmlBlocks = split ("margin-bottom:20px",$content); 
foreach $item (@htmlBlocks) 
{ 
if (/\stitle="([^"]*)"/six) 
{ 
    print $1; 
} 
} 

,但它不顯示任何信息。雖然我正在解決它,但我會問專家如果你看到任何錯誤或潛在的問題。非常感謝您的幫助!

+1

是'$ _'變量中的html嗎? – 2009-11-01 19:44:06

+0

謝謝,伊萬,我剛剛更新了我的代碼以顯示更多。 – BeachRunnerFred 2009-11-01 19:46:54

+3

爲什麼重新發明輪子 - 參考http://stackoverflow.com/questions/254345/how-can-i-extract-urls-from-a-web-page-in-perl – heferav 2009-11-01 19:55:39

回答

9

默認//搜索使用$_變量。如果您想搜索另一個變量,則在=~之前指定它。這裏是一個例子:

@htmlBlocks = split ("margin-bottom:20px",$content); 
foreach $item (@htmlBlocks) { 
    if ($item =~ /\stitle="([^"]*)"/six) { 
     print $1; 
    } 
} 
+0

學習很多!非常感謝! – BeachRunnerFred 2009-11-01 19:57:53