Perl语法基础 #
一、注释 #
1.1 单行注释 #
使用 # 号:
perl
my $name = "Perl";
print "Hello, $name\n";
1.2 多行注释 #
Perl没有内置多行注释,常用以下方式:
使用POD格式:
perl
=pod
这是多行注释
可以写很多内容
=cut
print "Hello\n";
使用多个单行注释:
perl
print "Hello\n";
1.3 文档注释 #
POD(Plain Old Documentation)格式:
perl
=head1 NAME
MyScript - 示例脚本
=head1 SYNOPSIS
perl myscript.pl
=head1 DESCRIPTION
这是一个示例脚本,
演示POD文档格式。
=cut
查看POD文档:
bash
perldoc myscript.pl
二、标识符 #
2.1 命名规则 #
- 以字母或下划线开头
- 后续可以是字母、数字、下划线
- 长度不限
- 区分大小写
perl
my $name;
my $_count;
my $count2;
my $MAX_SIZE;
2.2 命名约定 #
| 类型 | 约定 | 示例 |
|---|---|---|
| 标量变量 | 小写,下划线分隔 | $user_name |
| 数组 | 小写,复数形式 | @users |
| 哈希 | 小写,单数形式 | %user |
| 子程序 | 小写,下划线分隔 | get_user_name() |
| 常量 | 全大写 | $MAX_SIZE |
| 包名 | 驼峰命名 | MyModule |
2.3 特殊变量 #
Perl有内置的特殊变量:
perl
$_
@ARGV
%ENV
$.
$/
三、关键字 #
3.1 常用关键字 #
| 类别 | 关键字 |
|---|---|
| 声明 | my, our, local, state, sub, package |
| 控制流 | if, else, elsif, unless, while, until, for, foreach, given, when |
| 循环控制 | last, next, redo, continue |
| 逻辑 | and, or, not, xor |
| 比较 | eq, ne, lt, gt, le, ge, cmp |
| 其他 | use, require, print, say, return, die, warn, eval |
3.2 避免使用关键字作为变量名 #
perl
my $if = 1;
my $for = 10;
四、语句与块 #
4.1 语句 #
语句以分号结尾:
perl
my $a = 1;
my $b = 2;
print $a + $b;
4.2 代码块 #
使用花括号包围:
perl
{
my $temp = 10;
print $temp;
}
4.3 语句修饰符 #
单语句可使用修饰符:
perl
print "Hello\n" if $flag;
print "Error\n" unless $ok;
print $_ foreach @items;
五、空白与缩进 #
5.1 空白 #
Perl忽略空白(字符串内除外):
perl
my $a=1;
my $a = 1;
my $a = 1;
5.2 缩进风格 #
推荐使用4空格缩进:
perl
if ($condition) {
do_something();
if ($another) {
do_more();
}
}
六、代码规范 #
6.1 use strict和warnings #
始终在脚本开头使用:
perl
#!/usr/bin/perl
use strict;
use warnings;
strict的作用:
- 强制变量声明
- 禁止裸字
- 禁止符号引用
warnings的作用:
- 启用所有警告
- 帮助发现潜在问题
6.2 代码风格建议 #
变量声明:
perl
my $name = "Perl";
my ($a, $b, $c) = (1, 2, 3);
行长度:
- 每行不超过80字符
- 长表达式适当换行
空格使用:
perl
my $sum = $a + $b;
if ($x > 0) {
do_something();
}
my @items = (1, 2, 3);
6.3 perltidy #
使用perltidy格式化代码:
bash
cpanm Perl::Tidy
perltidy script.pl
七、Here文档 #
7.1 基本语法 #
perl
my $text = <<'END';
这是一段
多行文本
END
print $text;
7.2 插值Here文档 #
perl
my $name = "Perl";
my $text = <<"END";
Hello, $name!
Welcome to Perl.
END
print $text;
输出:
text
Hello, Perl!
Welcome to Perl.
7.3 Here文档用法 #
perl
print <<HTML;
<html>
<head><title>Test</title></head>
<body>
<h1>Hello</h1>
</body>
</html>
HTML
八、数据类型概述 #
Perl有三种基本数据类型:
8.1 标量 #
以 $ 开头,存储单个值:
perl
my $name = "Perl";
my $count = 42;
my $pi = 3.14159;
8.2 数组 #
以 @ 开头,存储有序列表:
perl
my @colors = ("red", "green", "blue");
print $colors[0];
8.3 哈希 #
以 % 开头,存储键值对:
perl
my %person = (
name => "Tom",
age => 25,
);
print $person{name};
九、实践练习 #
练习1:编写规范脚本 #
perl
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;
=head1 NAME
greet.pl - 问候程序
=head1 DESCRIPTION
输出问候信息
=cut
my $name = "Perl";
my $version = 5.36;
say "=" x 30;
say "Language: $name";
say "Version: $version";
say "=" x 30;
练习2:使用Here文档 #
perl
#!/usr/bin/perl
use strict;
use warnings;
use v5.10;
my $user = "张三";
print <<"EMAIL";
To: $user@example.com
Subject: Welcome
Dear $user,
Welcome to our system!
Best regards,
Admin
EMAIL
十、总结 #
本章学习了:
- 单行注释和多行注释
- 标识符命名规则和约定
- Perl关键字
- 语句和代码块
- 代码规范和最佳实践
- Here文档
- 数据类型概述
下一章将深入学习Perl的数据类型。
最后更新:2026-03-27