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编程笔记--基础介绍及基础语法的主要内容,如果未能解决你的问题,请参考以下文章

3-Perl 基础语法

python3 基础 笔记记录-3

Python编程基础语法,你了解吗?

Python 基础语法

Python 基础语法

Python 基础语法