not 和 ! 的区别是什么?

not 和 ! 的区别是什么?

$word="thoughts";
if (not $word=~/\W+/) {
        print "$word\n";
}

可以打印出thoughts

$word="thoughts";
if (! $word=~/\W+/) {
        print "$word\n";
}

就什么也不打印
优先级的区别
not $word=... 与! ($word=...)效果一样


QUOTE:
原帖由 welcome008 于 2007-9-26 17:10 发表
$word="thoughts";
if (not $word=~/\W+/) {
        print "$word\n";
}

可以打印出thoughts

$word="thoughts";
if (! $word=~/\W+/) {
        print "$word\n";
}

就什么也不打印

if (not $word=~/\W+/) 相当于 if ($wod !~ /\W+/)
if (! $word=~/\W+/) 先对$word取!操作, 结果来=~
介于我在2楼写的过于草率,现补充如下:
!和not 作用是相同的,但是优先级差很多
前者优先级较高,后者优先级属于倒数
!比=~优先级高,但是or比=~优先级低
为避免错误,在不确定优先级情况下,建议加上括号
明白了,谢谢!


QUOTE:
原帖由 perljoker 于 2007-9-26 18:56 发表
介于我在2楼写的过于草率,现补充如下:
!和not 作用是相同的,但是优先级差很多
前者优先级较高,后者优先级属于倒数
!比=~优先级高,但是or比=~优先级低
为避免错误,在不确定优先级情况下,建议加上括号

兄弟正在学习Perl,请教兄台Perl的缩进一般时怎么缩进啊,采用Linux下C的方式吗。另外perl入门的作者说一般不加扩展名就可以,但看到很多程序都是有.pl扩展名的。
> Perl的缩进一般时怎么缩进啊
perldoc perlstyle

> perl入门的作者说一般不加扩展名就可以,但看到很多程序都是有.pl扩展名的。
加不加都行,看情况。比如你的 Perl 脚本是一个项目中的某些功能组件,那你可能会加上 .pl 好让人一眼就看出来是用 Perl 写的,方便维护。
但如果你写的是一个工具,你用什么语言写别人根本就不关心,比如 /usr/bin/debconf,你加上 .pl 反而会让用户每次敲命令时多输几个没用的字符,这时候就不加 .pl 了。


QUOTE:
原帖由 flw 于 2007-9-28 13:04 发表
> Perl的缩进一般时怎么缩进啊
perldoc perlstyle

> perl入门的作者说一般不加扩展名就可以,但看到很多程序都是有.pl扩展名的。
加不加都行,看情况。比如你的 Perl 脚本是一个项目中的某些功能组件,那你 ...

多谢flw老大啊。接着学习。。。