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