2011-07-04 23 views
3

このスクリプトはaaaを印刷します。どのように文字列に一致しない?

$b =~ /disabled/の負数はどのようにして得られるので、$bが「無効」に一致しない場合はTRUEを返しますか?

e。私はif文を保持したいが、$b !=~ /disabled/がほしいと思う。

#!/usr/bin/perl 

use warnings; 
use strict; 

my $a = 1; 
my $b = "disabled"; 


if ($a == 1 && $b =~ /disabled/) { 

    print "aaa\n"; 

} 

答えて

6

を使用して、私が思う!~です。

if ($a == 1 && $b !~ /disabled/) { 

    print "aaa\n"; 

} 
2

解決策。

if ($a == 1 && !($b =~ /disabled/)) { 
+0

「!〜」を使用するのと全く同じです。特別な「一致しない」演算はなく、 '!〜'は '!(... =〜...)と同じ演算にコンパイルされます。 – ysth

+0

@ysth:Perlは通常_解釈されます。 –

+0

@Tomalak Geret'kal:http://perldoc.perl.org/perlglossary.html#interpreter – ysth

1

このようなものはありますか?

if ($a == 1 && $b !~ /disabled/) { 
+0

私は考えなかった、それは可能だった。 –

1

あなたが探しているもの以外のマッチング演算子!~

関連する問題