0

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

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

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

4

2 回答 2

4

您可以使用非空白任何字符作为分隔符;在这里,分隔符不是最常见的/( s/foo/bar/),而是:(s:foo:bar:),因为您要替换的内容有斜线字符,如果您使用斜线分隔符,则必须转义它们 ( s/\/x\/y\/z//),很多人认为丑。

所以你的表达只是/x/y/z$tmp.

于 2015-01-05T07:00:27.883 回答
3

这意味着:/x/y/z什么都没有。

例如:如果你有一个类似/a/b/x/y/z结果的字符串/a/b

于 2015-01-05T06:56:40.743 回答