Perl 入门 之 context 上下文

来源:互联网 发布:传奇物品数据库详解 编辑:程序博客网 时间:2024/06/05 14:44
#!/usr/bin/perl#context 上下文#perl 最独特的特性就在于 它的代码对于上下文是敏感的。#每个perl的表达式要么在 scalar 上下文中求值,要么在列表上下文求值my $scalar = "mendeleev";#赋值#初始化 array 和 hashmy @array = ("Alpha", "Beta", "Gamma", "Pie");my %hash = ("Alpha" => "Beta", "Gamma" => "Pie");#在scalar上下文中求值的列表表达式会返回 列表 中的最后一个scalar:my $scalar = ("Alpha", "Beta", "Gamma", "Pie");# $scalar的值现在是"Pie"#在scalar上下文中求值的array(还记得array和列表不同吗?)表达式返回该数组的长度:my @array = ("Alpha", "Beta", "Gamma", "Pie");my $scalar = @array; # $scalar的值现在是4#print内置函数在列表上下文中求对所有的参数求值。#事实上,print能够接受无限个参数的列表,并且一个接一个地打印它们,这就意味着我们可以直接用它来打印array:my @array = ("Alpha", "Beta", "Goo");my $scalar = "-X-";print @array;              # "AlphaBetaGoo";print $scalar, @array, 98; # "-X-AlphaBetaGoo98";#引用和嵌套数据结构#列表无法包含列表作为其元素,array也同样无法包含其他array和hash作为其元素,它们只能包含scalar。#那么我们就可以用,scalar来 进行引用和赋值#声明数据结构