Как я могу определить, есть ли знак (=) в текущей строке в Perl? - PullRequest
2 голосов
/ 11 января 2010

Как определить, есть ли знак (=) в текущей строке?спасибо.

$_ = $currentLine;
if (Include =)
{
# do some thing
}
else
{
# do another thing
}

Ответы [ 3 ]

11 голосов
/ 11 января 2010

Самый простой способ - использовать index :

if ( index( $line, '=' ) > -1 ) {

Это быстрее, чем регулярное выражение, потому что это делается на уровне C, без какой-либо компиляции. Если вы просматриваете Perl-код, вам, возможно, все равно, есть ли в строке комментария знак равенства, поэтому есть следующее:

$line =~ m/^[^#]*=/;

Если это не соответствует вашим потребностям, используйте первое.

7 голосов
/ 11 января 2010
 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 .

7 голосов
/ 11 января 2010
local $_ = $currentLine;
if (/=/) {

или

if ($currentLine =~ /=/) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...