Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1147999
  • 博文数量: 312
  • 博客积分: 12522
  • 博客等级: 上将
  • 技术积分: 3376
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-27 18:35
文章分类

全部博文(312)

文章存档

2016年(3)

2015年(1)

2013年(1)

2012年(28)

2011年(101)

2010年(72)

2009年(13)

2008年(93)

分类: 项目管理

2011-06-08 16:24:18

perl 基础


系统学习perl,基础问题复习期间,先提问题,再回答

1.@和$和%以及&的区别是什么?

@===

在数组名前加@(后没有中括号)来引用整个数;

$===

标量变量可以存放一个标量值。标量变量的名字由一个美圆符号($)后接Perl 标识符:由字母或下划线开头,后接字母,数字,或者下划线。或者说由字母,数字和下划线组成,但不能由数字开头。大小写是严格区分的:变量$Fred 和变量$fred是不同的;

%===

要引用整个hash,使用百分号(“%”)作为前缀。

%some_hash = (“foo”, 35, “bar”, 12.4, 2.5, “hello”, “wilma”, 1.72e30, “betty”, “bye\n”);

my %last_name = (
“fred” => “flintstone”,
“dino” => undef,
“barney”=> “rubble”;
“betty”=> “rubble”,
);

&===

可以使用子程序的名字(前面带&)来调用子程序.

2.qw()做什么用的?

qw 表示“quoted words”或者“quoted by whitespace”,作用是将一串包含空格的字符串以空格拆分为字符列表。

3.两种上下文环境分别是?

标量和列表上下文

4.$_等默认的变量名都有哪些及用处?

$_—————-

如果在foreach 循环中省略了控制变量,那Perl 会使用其默认的变量:$_。除了其不寻常的名字外,这和普通变量类似,如
下面代码所示:
foreach(1..10){ #使用默认的变量$_
print “I can count to $_!\n”;
}

@_—————

这也就是说此子程序参数的第一个值存放在$_[0]中,第二个存放在$_[1],依次类推。但必须强调的是这些变量和$_这个变量没有任何关系, 如$dino[3](数组@dino 的一个元素)和$dino 的关系一样。这些参数必须存放在某个数组变量中,而Perl存放在@_这个变量中。

5.chomp()的作用是什么?

去掉换行符(\n)

6.<>的作用是什么?(例如while(<>))

尖括号操作(<>)是一种特殊的行输入操作。其输入可由用户选择;由于<>通常被用来处理所有的输入,因此在同一个序中重复使用是不正确的。

7.print @array;和print “@array”的区别是什么?

前者输出@array的值,后者输出其个数。

8.my是什么意思?用和不用my有什么区别?

默认情况下,Perl 中所有变量都是全局的;也就是说,这些变量可以在程序的任意部分使用。你也可以任意时候使用my创建私有变量。

9.列出控制循环的几个关键字 next last等及作用?

last 会立刻结束循环。(这同C 语言或其它语言中的“break”语句类似);

有时还不希望结束循环,但本次循环已经结束。这种情况下,next 是非常适用的。它跳到当前循环块的最后面(块内)。next 之后,又会进入下一轮循环(这和C 或者类似语言的“continue”相似);

循环控制的第三个操作是redo。它会调到当前循环块的顶端,不进行条件表达式判断以及接着本次循环。(在C 或类似语言中没有这种操作。);

 

10.$#rocks是什么意思?

rocks 数组最后一个元素的索引为$#rocks,和数组中元素的
个数是不同的,因为数组中包含元素0。


原创文章如转载,请注明:转载自[]
本文链接:


阅读(629) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~