我使用此代碼通過正則表達式匹配來更改字符串。Perl:通過正則表達式匹配來更改字符串
$a->{'someone'} = "a _{person}";
$a->{'person'} = "gremlin";
$string = "_{someone} and a thing"
while($string =~ /(_\{(.*?)\}/g){
$search = metaquote($1);
$replace = $a->{$2};
$string =~ s/$search/$replace/;
}
結果是a _{person} and a thing
但我很期待:a gremlin and a thing
。
怎麼辦才能使用它?
始終'使用嚴格的;'這樣你就可以避免很多問題 – PSIAlt 2013-03-19 21:16:52
我不知道你正在運行的代碼來得到這一結果。你發佈了散列三個語法錯誤,所以不能編譯。當它們被修復時,它完全按照你說的要求。 – Borodin 2013-03-19 21:38:38
感謝choroba他修正了編譯錯誤。對不起,只是輸入了我今天從我的麻煩中記起的事情。我現在想知道爲什麼它今天早些時候還沒有奏效。明天我必須再看看真正的問題。 – m42e 2013-03-19 22:31:17