我有我寫了一個函數的麻煩......爲什麼我的Perl函數不能工作?
sub TemplateReplace
{
my($regex, $replacement, $text) = @_;
$text =~ s/($regex)/($replacement)/gs;
}
my $text = "This is a test.";
TemplateReplace("test", "banana", $text);
但它不工作。我認爲參數是通過Perl中的引用發送的。那麼行my($regex, $replacement, $text) = @_;
然後複製它們?我該如何解決?
在我們弄清楚如何解決它之前,你必須解釋你想要發生什麼。你想改變原始變量,還是獲取一個顯示修改的新字符串?這是Chas之間的區別。和阿德南的回答。 :) – 2009-04-11 17:53:38
如果您試圖編輯魔法般的參數,Chas的答案就是您正在尋找的答案。如果你願意這樣做的話,請按照Adnan的說法。遠處變化的變量通常會被忽略,它通常只會增加複雜性,而沒有多少好處。 – Danny 2009-04-11 18:48:04