2017-10-17 99 views
-1

我去了一段代碼,其中一個子程序以video filename作爲參數,然後打印它的持續時間。在這裏我只顯示片段。

sub videoInfo { 
    my $file = shift; 
    $file =~ s/(\W)/\\$1/g; 
} 

到目前爲止,我的理解是,它在處理whitespaces但我不能夠破解代碼的意思,我的意思是$1,它是如何工作的?

回答

2

它將反斜槓放在非單詞字符的前面。像"untitled file"這樣的東西變成了"untitled\ file"

與大多數正則表達式操作一樣,$1代表使用(...)捕獲的第一件東西,在這種情況下,(\W)代表單個非單詞字符。

我認爲這是一個不必要的國產版quotemeta