我是perl的新手。我有以下替换表达式:
$tmp =~ s:/x/y/z::;
我已经搜索了很多但是却找不到类似的表达方式。 这是什么意思?
答案 0 :(得分:4)
您可以将非空格任何字符用作分隔符;在这里,而不是最常见的/
(s/foo/bar/
),分隔符是:
(s:foo:bar :),因为你替换的是斜线字符,如果你使用了斜线分隔符,你必须逃避它们(s/\/x\/y\/z//
),许多人认为这是丑陋的。
因此,您的表达式只是从/x/y/z
删除第一个$tmp
。
答案 1 :(得分:3)
这意味着:无需替换/x/y/z
。
例如:如果您有字符串行/a/b/x/y/z
,结果将为/a/b