专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>perl>

Perl6/Perl5下的file test操作符比较

百度收藏 QQ搜藏

http://www.chinaunix.net   作者:xiaoyafeng
Perl5大家应该很熟悉了,不过现在的perl6语法就相当复杂,而且syn又是英文,可能给大家学习pear带来了一些困难,这里给大家扫扫盲。今天讲file test 操作符:

1)先来看看perl5下的:
 
print "Hello world!\n" if -e test;

简单吧,跟shell差不多,但是如果多个的话,用起来就有点傻:
 
if (-e $test && -r $test && -w $test){
print "Hello world!\n";
}

2)下面看下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版本玩玩。至少现在建一个简单对象是没问题的。(补充下: parrot下面的perl6叫做rakudo,大家可别搞错了。)

上一篇:perl的map函数用法实例(三) 下一篇:perl版本的文件删除脚本

power by soyo123 2007-2008