语法元素
|
C |
Perl |
Perl语法说明
|
注释
|
/* … */
|
# …
|
只支持单行注释
|
变量
|
int a, b, c;
char c=’A’;
int x[10];
|
my ($a, $b, $c);
my $c='A';
my @x;
my %h;
|
声明使用my标示
表示值的变量以$开头,表示数组的变量以@开头,表示哈希表的变量以%开头。
声明可以省略(不建议)
|
字符串
|
char* h1=”hello\n”;
char* h2=”hello\\n”;
|
$h1=”hello\n”;
$h2=’hello\n’;
|
双引号解释内部的\n,而单引号则不解释
|
一维数组
|
int arr[10];
arr[0]=0;
for(i=0;i<10;i++)
arr[i]=i;
|
my @arr;
$arr[0]=0;
@arr[3..5]=(3..5);
|
数组声明以@标示
动态数组,不需要指定大小
数组下标从0开始
访问数组元素值的时候,要以$开头表示访问的是数值
[3..5]表示数组中下标为3到5之间的元素组成的数组
数组之间可以直接赋值
|
多维数组
|
int arr[10][10];
arr[0][1]=9;
|
my @arr;
$arr[0][1]=9;
|
Perl并不直接支持多维数组,而是以数组引用的方式间接支持。例如arr[0]的内容就是一个数组的引用地址。
|
指针
|
char c;
int* x=&c;
c='a';
printf(*x);
|
my $c;
my $x=\$c;
$c='a';
print $x;
|
\和C中的&类似,意思是取引用
|
|
void hello() {
printf(“Hello\n”);
}
void (*hi)()=hello;
(*p)();
|
sub hello{
print "Hello\n";
}
my $hi = *hello;
&$hi;
|
&表示调用函数
*取函数的代码地址
不必用括号把参数括起来
调用时的括号也是可选的
|
条件语句
|
if (x>0) x=0;
x>0 ? x=0 : ;
|
if ($x>0) { $x=0; }
$x=0 if $x>0;
$x=0 unless $x<=0;
$x>0 ? $x=0 : ;
|
if 结构可以反转,意义不变,注意前句没有分号。
顾名思义, unless是“除非”的意思。这里的四个表达方式是等价的。注意第一种方式中,条件部分的圆括号和语句部分的花括号是不可省略的。
|
循环语句
|
略
|
foreach (@arry)
foreach my $key(@ary)
foreach $count (1..10)
|
for/while的语法都和C类似。
foreach关键字也可以用for,意义不变。
|
函数
|
int max(int x, int y)
{
return x>y?x:y;
}
int n=max(1,2);
|
sub max
{
my ($x, $y)=@_;
return $x>$y?$x:$y;
}
my $n=max(1,2)
|
注意下划线”_”也是一个合法的变量名。而@_是Perl内置的一个数组,内容为函数的参数。
my ($x, $y) 表示声明了一个有两个元素的数组,并将两个元素映射到$x和$y上。
($x,$y)=@_;则表示两个数组之间的复制,@_中对应的元素的值就赋值给了$x和$y.这是一个简便的写法,也可以这样写
my $x=
Perl直接入门详尽指南 - 凌众科技
快速业务通道
Perl直接入门详尽指南
作者 佚名技术
来源 互联网
浏览
发布时间 2012-01-15
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
[0]; my $y=
Perl直接入门详尽指南 - 凌众科技
快速业务通道
Perl直接入门详尽指南
作者 佚名技术
来源 互联网
浏览
发布时间 2012-01-15
|
content |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn
为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
|
|
|
[1];
return是可选的,默认返回最后一个表达式的值
|
语法约束
|
1. 编译时打开编译器所有的警告选项
2. 使用lint工具
|
|
3. perl –w myprogram.pl 打开运行警告开关,如果运行时Perl检查到了可能的错误,会显示警告信息,否则它默认是什么也不提示继续执行。
4. #!/usr/bin/perl –w 在代码文件第一行中加入-w选项开关
5. use strict; 使用严格语法约束
|
运行
|
编译后直接执行
|
|
1. perl myprogram.pl 手工执行
2. #!/usr/bin/perl
Unix下在代码第一行加入,然后给文件加上可执行的属性 chmod +x myprogram.pl,之后就可以用./myprogram.pl命令来运行。
3. Windows下,安装ActivePerl的时候,已经将.pl后缀的文件和perl的解释程序关联起来了,因此直接双击文件图标就可以运行。
|