我查了一段代码,其中一个子程序以video filename
为参数,然后打印它的持续时间。在这里,我只展示了片段。
sub videoInfo {
my $file = shift;
$file =~ s/(\W)/\\$1/g;
}
到目前为止,我理解它正在处理whitespaces
,但我无法破解代码的含义,我的意思是$1
以及它将如何工作?
答案 0 :(得分:1)
它在非单词字符前放置反斜杠。 "untitled file"
之类的内容会变为"untitled\ file"
。
与大多数正则表达式操作一样,$1
表示使用(...)
捕获的第一个内容,在这种情况下,(\W)
表示单个非单词字符。
我认为这是quotemeta
的不必要的自制版本。