如何检测当前行中是否有(=)符号?谢谢。
$_ = $currentLine;
if (Include =)
{
# do some thing
}
else
{
# do another thing
}
答案 0 :(得分:11)
最简单的方法是使用index:
if ( index( $line, '=' ) > -1 ) {
它比正则表达式更快,因为它是在C级完成的,没有任何编译。如果你正在查看Perl代码,你可能不在乎评论行上是否有等号,因此就是这样:
$line =~ m/^[^#]*=/;
如果这不符合您的需求,请使用第一个。
答案 1 :(得分:7)
local $_ = $currentLine;
if (/=/) {
或
if ($currentLine =~ /=/) {
答案 2 :(得分:7)
my $currentLine; # presumably this has a value from something earlier
if ($currentLine =~ /=/)
{
# line has an = in it
}
else
{
# it doesn't
}
了解perldoc perlop处的=~
运算符和perldoc perlre处的正则表达式。