$ testModule = ~s @ / @ :: @ ig的含义是什么?在Perl?

时间:2015-08-04 15:13:10

标签: regex perl

我是perl的新手,我正在阅读一些perl代码,我发现下面有一行我无法理解,有人能说出是什么意思

s@/@::@ig 

我知道=~尝试匹配一些正则表达式。通常我会看到像s/<regular express>//gi这样的代码,所以我对以下代码感到有些困惑。任何人都可以帮忙详细说明吗?

$testModule =~ s@/@::@ig;

1 个答案:

答案 0 :(得分:6)

您可以使用许多不同的字符作为正则表达式分隔符。

这个使用的是@而不是/,因此它可以使用/作为正则表达式中的数据,而无需转义它。

相当于:

$testModule =~ s/\//::/ig;

有关详细信息,请参阅Perl文档中的quote and quote-like operators