2011-07-04 70 views
3

該腳本將打印aaa如何不匹配字符串?

如何得到$b =~ /disabled/的負數,所以當$b與「禁用」不匹配時,返回TRUE

即,我想保留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通常是_interpreted_。 –

+0

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

1

是這樣的嗎?

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

我不知道,這是可能的。 –

1

使用不匹配的運營商!~