Perl自学(02)——运行、基础语法

1.Perl的执行方式

Perl的执行方式主要分为两种:交互式、脚本执行。

1.1 交互式

在命令行执行。

$perl  -e <perl 代码>           # Unix/Linux

C:>perl -e <perl 代码>          # Windows/DOS

对于-e参数,也有其他参数,如下表。

选项描述
-d[:debugger]在调试模式下运行程序
-Idirectory指定 @INC/#include 目录
-T允许污染检测
-t允许污染警告
-U允许不安全操作
-w允许很多有用的警告
-W允许所有警告
-X禁用使用警告
-e program执行 perl 代码
file执行 perl 脚本文件

1.2 脚本执行

大部分的都是这种,Perl本身就是脚本语言,因此一定可以脚本执行。

1.2.1 脚本执行的方式

编程语言的执行方式。Perl就是解释执行。

1.2.2 执行过程

把Perl语句放在.pl的文件中,然后执行。

q.pl 文件中内容:

#! /usr/bin/perl -w
print "hello,world\n"

代码中 /usr/bin/perl 是 perl 解释器的路径。在执行该脚本前要先确保文件有可执行权限,还有另一种方法是将文件的权限变成 0755 :

$ chmod 0755 q.pl 
$ ./q.pl 

输出结果:  Hello, world

1.3 文件名格式

perl 代码可以写在一个文本文件中,以 .pl、.PL 作为后缀。.pl文件就是脚本文件的后缀。

文件名格式:包含数字,符号和字母,但不能包含空格,可以使用下划线(_)来替代空格。


2.Perl的基本语法

2.1 注释

任何编程语言,注释都是第一个,好的代码是注释比代码多。

单行注释:Perl的注释是语句的用#开头。

#Perl的注释是#开头

多行注释:最常用的方法是使用 POD(Plain Old Documentations) 来进行多行注释。

=pod
Perl的多行注释,在之间
Perl的多行注释,在之间
Perl的多行注释,在之间
Perl的多行注释,在之间
……
=cut

注意:
1、=pod、 =cut只能在行首。
2、以=开头,以=cut结尾。
3、=后面要紧接一个字符,=cut后面可以不用。

2.2 Perl 中的空白(空格问题)

Python中代码的缩进原则很严格,决定代码内容。代码的缩进也可以保障代码的美观程度,和阅读质量。有时候我们ctrl大法得到的代码,中间有的时候也会有很多格,格式或多或少有不对的地方。就像这样:

print       "Hello, world\n";

Perl中对图中可以忽略掉,例如:

也就是说:所有类型的空白如:空格,tab ,空行等如果在引号外解释器会忽略它,如果在引号内会原样输出。

2.4 单引号和双引号

perl 输出字符串时候对字符串使用的单引号和双引号是有区别的,例如:

#!/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

 在这种情况下:

#!/usr/bin/perl
 
print "I  " Y" ";    #这一句会报错的
print "I  \"Y\"  ";  #这句是对的,通过反斜杠转义之后就可以输出I  "Y" 

一般在Perl中,利用q和qq代替单引号和双引号。 

print q(I  "Y" );

print qq(I  "Y" );

#结果都是:I  "Y" 

2.5 Here文档

here文档是heredoc、hereis、here-字串或here-脚本,是一种在命令行shell(如sh、csh、ksh、bash、PowerShell和zsh)和程序语言(像Perl、PHP、Python和Ruby)里定义一个字串的方法

我们先看一个Here文档示例:

#!/usr/bin/perl
 
$a = 10;
$var = <<"EOF";
这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = $a
EOF
print "$var\n";
输出结果是:
这是一个 Here 文档实例,使用双引号。
可以在这输如字符串和变量。
例如:a = 10

下面解读一下Perl的Here文档的格式:

命令 <<  "标记";
内容....
 .....
 .....
 .....
标记
  1. << 其实就是重定向,把 "标记" 的内容重定向到这个命令里面,也可是变量里面。
  2. 必须后接分号,否则编译通不过。
  3. 标记可以用任意其它字符代替,只需保证结束标识与开始标识一致。
  4. 结束标识必须顶格独自占一行(即必须从行首开始,前后不能衔接任何空白和字符)。
  5. 开始标识可以不带引号号或带单双引号,不带引号与带双引号效果一致,解释内嵌的变量和转义符号,带单引号则不解释内嵌的变量和转义符号。
  6. 当内容需要内嵌引号(单引号或双引号)时,不需要加转义符,本身对单双引号转义,此处相当与q和qq的用法。

2.6 转义字符

如果我们需要输出一个特殊的字符,可以使用反斜线(\)来转义。

#!/usr/bin/perl
 
$a = " \" YYYYY\"";
print "$a\n";
print "\$a\n";

输出结果:

"YYYYY"
$a

2.7 标识符

Perl 标识符是用户编程时使用的名字,在程序中使用的变量名,常量名,函数名,语句块名等统称为标识符。同其他编程语言一样。

  • 标识符组成单元:英文字母(a~z,A~Z),数字(0~9)和下划线(_)。
  • 标识符由英文字母或下划线开头。
  • 标识符区分大小写,$runoob 与 $Runoob 表示两个不同变量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值