-1
我去了一段代碼,其中一個子程序以video filename
作爲參數,然後打印它的持續時間。在這裏我只顯示片段。
sub videoInfo {
my $file = shift;
$file =~ s/(\W)/\\$1/g;
}
到目前爲止,我的理解是,它在處理whitespaces
但我不能夠破解代碼的意思,我的意思是$1
,它是如何工作的?
我去了一段代碼,其中一個子程序以video filename
作爲參數,然後打印它的持續時間。在這裏我只顯示片段。
sub videoInfo {
my $file = shift;
$file =~ s/(\W)/\\$1/g;
}
到目前爲止,我的理解是,它在處理whitespaces
但我不能夠破解代碼的意思,我的意思是$1
,它是如何工作的?
它將反斜槓放在非單詞字符的前面。像"untitled file"
這樣的東西變成了"untitled\ file"
。
與大多數正則表達式操作一樣,$1
代表使用(...)
捕獲的第一件東西,在這種情況下,(\W)
代表單個非單詞字符。
我認爲這是一個不必要的國產版quotemeta
。