perl编程笔记--基础介绍及基础语法
Posted 生信Rookie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了perl编程笔记--基础介绍及基础语法相关的知识,希望对你有一定的参考价值。
文章要点:
一、perl 语言特点
二、第一个perl 程序
三、运行perl
四、注释等其他基础语法
一、perl 语言特点
1、Perl 是 Practical Extraction and Report Language 的缩写,可翻译为 "实用报表提取语言"。
2、Perl 是高级、通用、直译式、动态的程序语言。
3、Perl 最初的设计者为拉里·沃尔(Larry Wall),于1987年12月18日发表。
4、Perl 借用了C、sed、awk、shell脚本以及很多其他编程语言的特性。
5、Perl 最重要的特性是Perl内部集成了正则表达式的功能,以及巨大的第三方代码库CPAN。
二、第一个perl 程序
对于大多数程序语言,第一个入门编程代码便是"Hello World!",以下代码为使用 Perl 输出"Hello World!":
#!/usr/bin/perl
print "Hello, World!\n";
在 perl 的路径上也可以加上 -w,可以显示程序中出现的一些警告,尽管可能不影响程序的执行结果,方便我们修改我们的程序,例如:
#!/usr/bin/perl -w
#!/usr/bin/perl 需要参考自己的 perl 路径。
三、运行perl
Perl 有不同的执行方式。
1、交互式
我们可以在命令行中直接执行 perl 代码,语法格式如下:
$perl -e <perl code> # Unix/Linux
#或
C:>perl -e <perl code> # Windows/DOS
比如在命令行中使用 -e 选项来输入语句来执行代码,实例如下:
$ perl -e 'print "Hello World!\n"' #输入代码并敲击回车,得到以下结果
Hello World!
命令行参数如下所示:
选项 描述
-d[:debugger] 在调试模式下运行程序
-Idirectory 指定 @INC/#include 目录
-T
允许污染检测
-t 允许污染警告
-U 允许不安全操作
-w 允许很多有用的警告
-W 允许所有警告
-X 禁用使用警告
-e program 执行 perl 代码
file 执行 perl 脚本文件
2、脚本执行
我们可以将 perl 代码放在脚本文件中,通过以下命令来执行文件代码:
$perl script.pl # Unix/Linux
#或
C:>perl script.pl # Windows/DOS
同样以Hello world 为例,将下面代码写入文本文件中去,如hello.pl。一般而言perl 脚本文件以.pl .PL作为后缀,文件名可以包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格。
#!/usr/bin/perl
print "Hello, world\n";# 输出 "Hello, World"
print("Hello, world\n"); #print 也可以使用括号来输出字符串,和上一行语句效果一样
这边执行perl hello.pl就可以得到结果“Hello, World”。同时可以赋予hello.pl可执行权限,直接运行脚本。
$ chmod 755 hello.pl
$ ./hello.pl
Hello, world # 输出结果
四、注释等其他基础语法
1、注释
使用注释使你的程序易读,这是好的编程习惯。perl 注释的方法为在语句的开头用字符#,如:
#这是一个单行注释
perl除了可以进行单行注释,在想要注释的每一行开头用字符#之外,还支持多行注释,避免重复使用#。
最常用的方法即使用 POD(Plain Old Documentations) 来进行多行注释,实例如下:
#!/usr/bin/perl
# 这是一个单行注释
print "Hello, world\n";
=pod 注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
=cut
在使用POD进行注释时,注意
=pod、 =cut只能在行首。 以=开头,以=cut结尾。 =后面要紧接一个字符,=cut后面可以不用。
2、空白
关于perl中的空白,两点:
非字符串中的空白不管有多少解释器都会忽略,程序都会正常执行。
而字符串内的空白或者引号内的空白无论是tab,空格还是空行都会原样输出。
3、单引号和双引号
先看实例:
#!/usr/bin/perl
print "Hello, world\n"; # 双引号
print 'Hello, world\n'; # 单引号
#双引号结果 Hello, world
#单引号结果 Hello,world\n
从结果中我们可以看出,双引号 \n 输出了换行,而单引号没有。
Perl双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。
为了加强理解,再来一个实例。
#!/usr/bin/perl
$a = 10;
print "a = $a\n";
print 'a = $a\n';
#双引号结果 a = 10
#单引号结果 a = $a\n
4、转义字符
如果我们需要输出一个特殊字符,可以用反斜杠(\)进行转义,例如输出美元符号($):
#!/usr/bin/perl
$result = "perl";
print "$result\n";
print "\$result\n";
#未转义 perl
#转义 $result
5、标识符
Perl 标识符是用户编程时使用的名字,在程序中使用的变量名,常量名,函数名,语句块名等统称为标识符。
标识符组成单元:英文字母(a~z,A~Z),数字(0~9)和下划线(_)。标识符由英文字母或下划线开头。
标识符区分大小写,$runoob 与 $Runoob 表示两个不同变量。
6、Here 文档
Here文档又称作heredoc、hereis、here-字串或here-脚本,是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、php、Python和Ruby)里定义一个字串的方法。
使用概述:
a.必须后接分号,否则编译通不过。
b.EOF可以用任意其它字符代替,只需保证结束标识与开始标识一致。
c.结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
d.开始标识可以不带引号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
e.当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。
#!/usr/bin/perl
$a = 10;
$var = <<"EOF";
这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = $a
EOF
print "$var\n";
$var = <<'EOF';
这是一个 Here 文档实例,使用单引号。
例如:a = $a
EOF
print "$var\n";
#执行以上程序,输出结果
=single
这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = 10
=cut
=double
这是一个 Here 文档实例,使用单引号。
例如:a = $a
=cut
以上内容整理自: http://www.runoob.com/perl
以上是关于perl编程笔记--基础介绍及基础语法的主要内容,如果未能解决你的问题,请参考以下文章