今天讲file test 操作符:
先来看看perl5:
print "Hello world!
" if -e test;
简单,但是shell的味道很重,而且如果多个的话,就有点傻:
if (-e $test && -r $test && -w $test){
print "Hello world!
";
}
下面是perl6语法:
if $filename.:e { say "Hello world!" }
上面的语句很简单,但是阐述了一些perl6特别的东西:
1. if, for 等条件,循环语句,小括号不再强制。
2. 方法引起不再用 ->而是用.
3. 一般来说,任何变量都是一个对象。(例外以后再说)
4. -X 操作符已经被抛弃了,改用pair方法。
当然,在perl6,几乎任何操作你都可以用~~:
if $filename~~:e { say "Hello world!" ;}
在 perl6 的switch语句中,你还可以简单的这样写:
when :r say "readable!!!";
when :w say " writable!!!";
when :r :w say " readable and writable!!!";
行了,经过一番介绍,大家可能对perl6 file test操作符有了一定了解。有兴趣的可以下载parrot 0.6.1版本玩玩。至少现在建一个简单对象是没问题的。
P.S parrot下面的perl6叫做rakudo,大家可别搞错了。