Perl 的语法灵活且实用,融合了 C、shell 脚本和正则表达式的特点。本文将介绍变量、控制结构、输入输出等基础内容,适合初学者入门。


目录

  1. 基本规则
  2. 变量与数据类型
  3. 运算符
  4. 控制结构
  5. 输入与输出
  6. 子程序(函数)
  7. 参考资料

1. 基本规则

  • 脚本开头:通常以 #!/usr/bin/perl 开始(Linux/macOS)。
  • 严格模式use strict; 强制变量声明,减少错误。
  • 警告模式use warnings; 显示潜在问题。
  • 语句分隔:每行以分号 ; 结束。

示例:

#!/usr/bin/perl
use strict;
use warnings;

print "Hello, Perl!\n";

站内链接:安装Perl环境,见 Perl 环境安装


2. 变量与数据类型

Perl 有三种主要数据类型:

标量 ($)

存储单个值(数字、字符串):

my $name = "Alice";  # 字符串
my $age = 25;        # 数字
print "$name is $age years old.\n";

数组 (@)

存储有序列表:

my @fruits = ("apple", "banana", "orange");
print "First fruit: $fruits[0]\n";  # 下标从0开始

哈希 (%)

存储键值对:

my %info = ("name" => "Bob", "age" => 30);
print "Name: $info{'name'}\n";

注意my 定义局部变量,避免全局污染。


3. 运算符

算术运算符

+, -, *, /, %, **(幂)。

my $x = 5 + 3;  # 8
my $y = 2 ** 3; # 8
print "$x, $y\n";

比较运算符

  • 数字:==, !=, <, >, <=, >=
  • 字符串:eq, ne, lt, gt, le, ge
my $a = 10;
my $b = "10";
print "Equal\n" if $a == $b;  # 数字比较
print "Not equal\n" if $a ne $b;  # 字符串比较

逻辑运算符

&&(与)、||(或)、!(非)。

my $flag = (5 > 3) && (2 < 4);  # 真
print "True\n" if $flag;

4. 控制结构

条件语句

my $score = 85;
if ($score >= 90) {
    print "优秀\n";
} elsif ($score >= 60) {
    print "及格\n";
} else {
    print "不及格\n";
}

循环

  • for 循环
for my $i (1..5) {
    print "$i ";
}  # 输出:1 2 3 4 5
print "\n";
  • while 循环
my $count = 0;
while ($count < 3) {
    print "Count: $count\n";
    $count++;
}
  • foreach 遍历数组
my @numbers = (10, 20, 30);
foreach my $num (@numbers) {
    print "$num\n";
}

5. 输入与输出

输出

使用 printsay(Perl 5.10+,需 use feature 'say';):

print "Hello\n";
say "World";  # 自动加换行符

输入

从标准输入读取:

print "请输入名字:";
my $input = <STDIN>;
chomp($input);  # 移除换行符
print "你好,$input!\n";

站内链接:处理文件输入输出,见 文件操作


6. 子程序(函数)

定义和调用子程序:

sub greet {
    my ($name) = @_;  # 接收参数
    return "Hello, $name!";
}

my $message = greet("Alice");
print "$message\n";  # 输出:Hello, Alice!
  • @_ 是默认参数数组。
  • return 返回值可选,若无则返回最后表达式的结果。

7. 参考资料

站内链接

出站链接

其他资源

  • 《Learning Perl》 – 入门书籍。
  • X社区:搜索 #PerlSyntax 获取代码示例。

这篇指南涵盖了Perl的基础语法,适合初学者快速上手。如果需要深入某个部分(比如正则表达式或复杂数据结构),请告诉我!