请教多个perl基础问题

请教多个perl基础问题

1、print 后如跑num 可以不加 ; 跟字符或其他要加??
命令中,跟字符后不加 ; ,输出为空
# perl -e "print 11"
11[root@centOS02 perl]# perl -e "print a"
[root@centOS02 perl]#

2、||   or
    if ($_ < 5 || $_ > 10) {
|| 这里逻辑或,为什么if条件中把条件定为 5..10 的数为真

3、print "h l o\n" | " e l ";                        #  hello
     print "h l o\n" ^ " e l ";                #  HELLO
     print "hello\n" & '______';                #  HELLO

4、print ~0;                # 4294967295

5、$variable = 'zzz';
print ++$variable . "\n";                #aaaa


#后面为执行结果,不解,请哪位指点一下,谢谢
er ... 基础的问题应该查 learning perl 4th 去
真的很不好意思,浪费您宝贝的时间了


QUOTE:
原帖由 bitterness 于 2008-12-22 14:17 发表
1、print 后如跑num 可以不加 ; 跟字符或其他要加??
命令中,跟字符后不加 ; ,输出为空
# perl -e "print 11"
11[root@centOS02 perl]# perl -e "print a"
[root@centOS02 perl]#

执行下 perl -We 'print a',看下 perl 给的警告你就清楚了。

QUOTE:
2、||   or
    if ($_ < 5 || $_ > 10) {
|| 这里逻辑或,为什么if条件中把条件定为 5..10 的数为真
[/qote]
|| 只有当左边的表达式为假的情况下才会执行右边,并将右边表达式求值的结果作为整个 || 表达式的结果。

[quote]
3、print "h l o\n" | " e l ";                        #  hello
     print "h l o\n" ^ " e l ";                #  HELLO
     print "hello\n" & '______';                #  HELLO

看下 perlop 中的 Bitwise String Operators 你就清楚了。

QUOTE:
4、print ~0;                # 4294967295

这个和 C 中的 ~0 一样。

QUOTE:
5、$variable = 'zzz';
print ++$variable . "\n";                #aaaa

看下 perlop 中对 ++ 作用在 string 上的解释。


QUOTE:
原帖由 cobrawgl 于 2008-12-22 14:30 发表
er ... 基础的问题应该查 learning perl 4th 去

这些都不是太基础的问题,许多都是属于 Perl 中比较古怪的地方,例如说 ++ 作用在 string 上的结果。
谢谢  MMMIX,不仅给了答案也给了找答案的方法


QUOTE:
原帖由 bitterness 于 2008-12-22 14:45 发表
也给了找答案的方法

good, 你看到了这点

更准确的说应该是 你愿意看到这点,good

确实有点“古怪”


QUOTE:
原帖由 bitterness 于 2008-12-22 14:45 发表
谢谢  MMMIX,不仅给了答案也给了找答案的方法

btw, 我正在整理 Perl 中让我觉得古怪的地方,还要谢谢你提供的素材:Bitwise String Operators

这是我已经整理出来的
http://blog.chinaunix.net/u2/65629/showart_1361703.html
好东西啊。以后查起来方便多了。(期待完整版 )