Perl中的替换运算符

时间:2015-01-05 06:52:59

标签: perl string-substitution

我是perl的新手。我有以下替换表达式:

$tmp =~ s:/x/y/z::;

我已经搜索了很多但是却找不到类似的表达方式。 这是什么意思?

2 个答案:

答案 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