Perl 变量类型
Perl 主要有三种变量类型:标量($)、数组(@)和哈希(%)。标量存储单个值,数组存储有序列表,哈希存储键值对。
perl
$scalar = "Hello"; # 标量
@array = (1, 2, 3); # 数组
%hash = ("a" => 1, "b" => 2); # 哈希
Perl 条件语句
Perl 使用 if、elsif 和 else 进行条件判断。条件表达式需用括号包裹,代码块用花括号界定。
perl
if ($age < 18) {
print "未成年\n";
} elsif ($age >= 18 && $age < 60) {
print "成年\n";
} else {
print "老年\n";
}
Perl 循环结构
Perl 支持 for、foreach、while 和 until 循环。foreach 通常用于遍历数组。
perl
for ($i = 0; $i < 5; $i++) {
print "$i\n";
}
foreach $item (@array) {
print "$item\n";
}
while ($count < 10) {
print "$count\n";
$count++;
}
Perl 子程序
子程序通过 sub 定义,参数通过 @_ 数组访问。返回值可以是标量或列表。
perl
sub add {
my ($a, $b) = @_;
return $a + $b;
}
$result = add(3, 4); # 返回 7
Perl 正则表达式
Perl 以强大的正则表达式著称。匹配操作符 =~ 和替换操作符 s/// 是常用工具。
perl
$str = "Perl is great";
if ($str =~ /great/) {
print "匹配成功\n";
}
$str =~ s/great/awesome/; # 替换为 "Perl is awesome"
Perl 文件操作
文件操作通过文件句柄实现。open 用于打开文件,<> 用于读取,close 用于关闭。
perl
open(FH, '<', "file.txt") or die "无法打开文件";
while (<FH>) {
print $_;
}
close(FH);
Perl 特殊变量
Perl 有许多特殊变量,如 $_(默认变量)、@ARGV(命令行参数)和 $!(错误信息)。
perl
foreach (@array) {
print; # 默认使用 $_
}
print "Error: $!\n" if !open(FH, '<', "file.txt");
Perl 模块使用
通过 use 加载模块,Exporter 是常用的模块接口工具。CPAN 是 Perl 的模块仓库。
perl
use strict; # 启用严格检查
use warnings; # 启用警告
use Data::Dumper; # 加载调试模块
Perl 引用与数据结构
引用用于创建复杂数据结构。反斜杠 \ 获取变量引用,解引用通过 $、@ 或 % 前缀完成。
perl
$array_ref = \@array;
$hash_ref = \%hash;
print $array_ref->[0]; # 访问数组引用元素
print $hash_ref->{"a"}; # 访问哈希引用值