使用 tr 转义正斜杠

Escaping forward slashes with tr

我有一个包含 $var = "/var/run/hello.pid".

的变量

为了替换它,我需要将那些 / 更改为 \/。我试图像这样使用 Perl tr 选项:

$var =~ tr/\//\\//;

但它只需要第一个 \,最后是 $var = \var\run\hello.pid

我期待的结果是:$var = \/var\/run\/hello.pid

我怎样才能用 Perl 实现它? $var 变量可以与那些 / 随机生成(这意味着它不是静态变量)。

tr 逐字翻译。使用

$var =~ s/\//\\//g;

请注意,Perl 允许您更改分隔符以提高可读性。

$var =~ s{/}{\/}g;