我perl在cpan模块的文档中看到了这段代码:
$filename =~ s[^.+/][];
Run Code Online (Sandbox Code Playgroud)
这是什么意思?我习惯s//了这个s功能的表示法.
Bor*_*din 10
Perl允许将任何非空白字符用作字符串分隔符.请参阅引用和引用类操作符
包围字符成对,像使用<...>,[...],(...),和{...},而单引号防止插值.否则,该功能与默认分隔符的功能相同
在这种情况下
$filename =~ s[^.+/][]
Run Code Online (Sandbox Code Playgroud)
是相同的
$filename =~ s/^.+\///
Run Code Online (Sandbox Code Playgroud)
但更具可读性
我倾向于喜欢|看起来类似于通常的斜线的管道字符
$filename =~ s|^.+/||
Run Code Online (Sandbox Code Playgroud)
但选择取决于你