我看过这个perl
cpan
上的代码模块的文档:
$filename =~ s[^.+/][];
这是什么意思?我习惯了
s//
s
的符号功能。
最佳答案
Perl 允许将任何非空白字符用作字符串分隔符。见 Quote and Quote-like Operators
括号字符成对使用,如 <...>
, [...]
, (...)
, 和 {...}
, 而单引号防止插值。否则功能与默认分隔符相同
在这种情况下
$filename =~ s[^.+/][]
是相同的
$filename =~ s/^.+\///
但更具可读性
我更喜欢管道字符
|
看起来类似于通常的斜线$filename =~ s|^.+/||
但选择取决于你
关于regex - perl 中的 s[][] 表示法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36025242/