我試圖用一個字符串替換whitespaces
,並將其與正則表達式匹配。Perl正則表達式:嘗試修改只讀值
my $string = "watch download Buffy the Vampire Slayer Season 1 Episode 1 Gorillavid";
if ($string =~ m!(Season\s\d+\sEpisode\s\d+)!){
$1 =~ s!\s+!!g;
say $1;
}
現在,當我運行上面的代碼,我得到Modification of a read-only value attempted
。現在,如果我將$1
的值存儲在一個變量中,而不是嘗試對該變量執行替換,則它可以正常工作。
那麼,有沒有什麼方法可以在不創建新的臨時變量的情況下執行替換。
PS:有人能告訴我怎麼寫上面的代碼作爲一個班輪因爲我無法:)
我使用'Perl 5.14'。 – RanRag
你期望什麼結果?只是「Season1Episode1」沒有其餘的字符串? –
難道你不能只說's!\ s + !! g;'? – Qnan