我无法破译这个正则表达式是什么:
$c =~ s^.*/^^g;
我无法访问输入或输出.
有没有人知道它的作用?
默认分隔符s///
是斜杠,但您可以使用任何可打印字符作为替代.
所以
$c =~ s^.*/^^g
相当于
$c =~ s/.*\///g
请注意,使用传统的分隔符需要转义模式本身内的斜杠
有些选项比其他选项更好,并且在你只是试图避免在模式中逃避斜线的情况下我认为管道角色|
更好
我不希望从这个程序员那里学到太多东西.正如您所经历的那样,^
是一个糟糕且令人困惑的选择.此外,/g
修饰符是多余的,并且$c
是标识符的可怕选择
我会写的
$c =~ s|.*/||