【perl】01

1、环境搭建

—— 解释器 / 编译器

Perl 在 Window 平台上有 ActiveStatePerl 和 Strawberry Perl 编译器。

ActiveState Perl和 Strawberry Perl最大的区别是 Strawberry Perl 里面有多包含一些 CPAN 里的模块,

所以Strawberry Perl 下载的安装文件有 80多M, 而ActiveState Perl 只有20M 左右

地址:

https://strawberryperl.com/

安装完成之后使用命令进行检查:

perl -v / perl -version

—— 开发工具

编写Perl程序好像并没有专门的IDE工具,所以按照以往的Java开发工具,直接上IDEA了

打开插件库,里面搜Perl是有这样一个插件支持的:

之后我们需要配置Perl解释器到IDEA中,在编写Perl程序文件时,IDEA会提示SDK未找到,根据提示让IDEA引导我们去配置Perl

Perl程序文件的后缀名称为xxx.pl

点击添加系统Perl之后,IDEA会自动找到我们之前下载安装好的Strawberry Perl

IDEA还会有一些编写帮助提示,是否使用严格语法,和是否完全提示报错警告

2、基础语法

——1、linux环境开发的注意事项

Linux操作系统下Perl程序文件首行必须声明调用的执行程序

#!/usr/bin/perl

另外Perl程序文件实际上是一个可执行的脚本文件,如同SHELL一样

在Linux编写完成之后需要对该文件进行一个可执行权限的赋予

chmod 0777 xxx.pl 

执行perl脚本

./xxx.pl

——2、简单的示例

在Windows下IDEA中只要配置好解释器,就可以直接编写程序即可

use strict;
use warnings;
use warnings FATAL => 'all';
# 输出 "Hello, World"
print "Hello, world\n";

IDEA似乎没有提供专门的Perl程序运行功能,所以这里我使用IDEA提供的终端窗口进行Perl程序执行

——3、Perl的注释

单行注释类似MySQL的访问工具里的SQL编辑器一样,使用井号即可实现单行注释

# 这是Perl的单行注释

如果是使用多行注释这需要这样:

=pod 
这是一个多行注释
这是一个多行注释
这是一个多行注释
这是一个多行注释
=cut

在IDEA的编辑区域看起来很像Java的JavaDoc注释

/**
 * 这是Java的多行注释 文档注释
 * 这是Java的多行注释 文档注释
 * 这是Java的多行注释 文档注释
*/

——4、空格的字符串

执行命令时,命令参数会忽略过多的空格字符

如果是输出的字符串中带有的空格,Perl则会原封不动的输出

use strict;
use warnings;
use warnings FATAL => 'all';
# 输出 "Hello, World"
print "Hello, world\n";
# 也可以使用括号表示
print ("Hello,       world\n");

——5、警告提示

警告是对程序存在的潜在异常进行输出提示

Perl原始的警告提示是使用命令参数实现:

-w

w即warnings警告的缩写

在linux环境下,脚本的首位声明加上该参数即可

#!/usr/bin/perl -w

如果是windows,则是

perl -w xxx.pl

在perl5.6版本中,还支持类似JS语法的声明(即一开始的IDEA帮助提示)

use warnings;

查看更为详细的问题描述,可以再声明一句

use diagnostics;

——6、字符输出问题

在perl中支持双引号和单引号两种字符修饰的处理,但是会有区别:

$a = 10;
print "a = $a\n";
print 'a = $a\n';

Perl双引号和单引号的区别: 双引号可以正常解析一些转义字符与变量,而单引号无法解析会原样输出。

a = 10
a = $a\n

对单个的特殊字符的输出显示可以使用\实现

use strict;
use warnings FATAL => 'all';
use diagnostics;

$a = 10;
print "\$a = $a\n";

——7、文档输出

$b = <<"EOF";
这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = $a
EOF

 

posted @ 2021-01-08 13:59  emdzz  阅读(204)  评论(0编辑  收藏  举报