Perl的简单语法 与C语言语法的异同

发布 2021-05-11 10:36:28 阅读 8344

1 基本输入输出。

在 bash 脚本程序中,我们用 read var 来实现从键盘的输入,用 echo $var 来实现输出。那么在 perl 中将有一点变化。perl 中将标准输入用关键词表示;标准输出用表示,标准错误输出用表示。

故而从标准输入读取数据可以写成:

var=; # 读取一行输入,并存入变量 $var 中。

var=; # 读取多行输入,并存入数组 @var 中。

在 perl 语言中,变量 $_是许多操作符的缺省变量。因此如果需要读入许多行并对每行分别处理一般这样写:

while($_

或者可以简写为:

while()

如果 <>括号之间没有任何字符,则表示从命令行所指示的文件中读取数据,看下面这个例子(

#!/usr/bin/perl;

while(<>

如果在命令行输入 $ perl 。这个程序将在屏幕上打印出文件 的每一行。

在前面的例子中我们已经看见,perl 语言中向标准输出输出数据可以用 print 语句。我们在 print 语句中可以输出多个变量,变量之间用 ",分隔开来。如下面的例子:

print 3,45*2,"hello",2+2;

上面的输出语句将给出 "390hello4" 的输出结果。

除了 print 语句以外,perl 中还提供了一个 printf 语句用于标准输出,不过 printf 更接近于 c 语言的 printf 函数,可以进行格式化的输出,如:

printf "%10s% 8d%8.2f",$a,$b,$c;

printf("%10s% 8d%8.2f",$a,$b,$c); # 加上括号的 c 语言写法也是可以的。

另外 print 和 printf 在输出数组变量的时候也是不同的,如下例:

a = 1 , 2, 3);

printf @a;

print "";

print @a;

print "";

输出的结果是:

如果在 @a 两边加上 ""则输出就都是 123了。

2 分支循环控制结构。

if 语法。

perl 语言的 if...then...else...语句结构和 c 语言非常相似,该结构一共有三种变种,分别如下:

if 语法 1:

if(判别运算式)

表达式为真时的语句块;

或写成:表达式为真时的语句 if (判别运算式);

实例为:print "您的分数及格了!" if ($score>=60);

if 语法 2:

if(判别运算式一);

也可以写为:

判别表达式 &&为真时的语句块。

同样道理,unless(this) 可替换为 this||that。

: 则可以这样使用:

exp1?exp2:exp3

这个式子表示:如果 exp1 为真则求 exp2 的值,否则求 exp3 的值。

while 循环语法。

perl 语言中 while, do...while, for, until, foreach 均可以用于实现循环结构,循环中还可以用 last,next,redo 等操作符进行控制。下面我们先介绍 while 语法。

while(判别运算式) {

程序叙述区块;

上个语法在perl中也可以写成: 程序叙述区块 while(判别运算式);

do...while 循环语法。

do程序叙述区块;

while(判别运算式);

在 while 和 do while 循环最大的区别是在 do while 循环中,循环体至少会被执行一次。

until 循环语法。

until(判别运算式)

程序叙述区块;

上个语法在perl中也可以写成: 程序叙述区块 until (判别运算式);

do...until 循环语法。

do{程序叙述区块;

until (判别运算式);

for 循环语法。

for (初始化运算式;判别运算式;循环过程运算式)

程序叙述区块;

或者。for $variable(@array)

程序叙述区块;

第二个语法中如果把 $variable 变量省略的话,就会将数组 @array 的元素一个一个指定给 $_这个变量,这是比较精简的写法。其中第一个语法更接近于 c 语言的语法。

foreach 循环语法。

foreach $variable(@array)

程序叙述区块;

如果把$variable变量省略的话,就会将数组@array的元素一一指定给$_这个内定的输出变量。

last 退出循环语法。

范例:for($i=1;$i<=10;$i++)

last if ($i==5); # 如果 $i 等于5的话就退出 for 循环。

print"$i";

next 继续循环语法。

范例:for($i<=10;$i++)

# 如果是 2 的倍数的话,就到循环的下一个陈述。

next if($i%2)==0)

print"$i是一个奇数!";

Perl的简单语法 与C语言语法的异同

perl的简单语法 与c语言语法的异同 txt心态决定状态,心胸决定格局,眼界决定境界。当你的眼泪忍不住要流出来的时候,睁大眼睛,千万别眨眼,你会看到世界由清晰到模糊的全过程。1 基本输入输出。在 bash 脚本程序中,我们用 read var 来实现从键盘的输入,用 echo var 来实现输出。...

C语言常用语法

1递归法转换整数为字符 void convert int n 2判断素数 int isprime int n 3求闰年 if year 4 0 year 100 0 year 400 0 printf d is a leap year year else printf d is not a leap...

C语言常用语法提要

1.标识符。标识符可由字母 数字和下划线组成。标识符必须以字母或下划线开头,大 小写的字母分别认为是两个不同的字符。不同的系统对标识符的字符数有不同的规定,一般允许7个字符。2.常量。1 整型常量 十进制 八进制 十六进制 长整型常数。2 字符常量 用单撇号 括起来的一个字符,可以使用转义字符。3 ...