可能重复:
在Perl中做什么=〜
在我正在研究的Perl程序中(namly plutil.pl),我=~在XML解析器部分看到了很多.例如,这里是函数UnfixXMLString(线159到167上1.7($VERSION错误地声明为"1.5")):
sub UnfixXMLString {
my ($s) = @_;
$s =~ s/</</g;
$s =~ s/>/>/g;
$s =~ s/&/&/g;
return $s;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,它的C原型将是(类C)string UnfixXMLString(string s),它=~在参数(s)上使用运算符然后返回修改后的字符串,但是它在做什么?
dus*_*uff 20
=~是Perl 绑定运算符.它通常用于将正则表达式应用于字符串; 例如,测试字符串是否与模式匹配:
if ($string =~ m/pattern/) {
Run Code Online (Sandbox Code Playgroud)
或者从字符串中提取组件:
my ($first, $rest) = $string =~ m{^(\w+):(.*)$};
Run Code Online (Sandbox Code Playgroud)
或者申请替换:
$string =~ s/foo/bar/;
Run Code Online (Sandbox Code Playgroud)
=~是 Perl 绑定运算符,可用于确定是否发生正则表达式匹配(true 或 false)
$sentence = "The river flows slowly.";
if ($sentence =~ /river/)
{
print "Matched river.\n";
}
else
{
print "Did not match river.\n";
}
Run Code Online (Sandbox Code Playgroud)