Perl 变量类型

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"}; # 访问哈希引用值
相关推荐
chunyublog15 小时前
Spark 词频统计练习
大数据·分布式·spark
Q264336502317 小时前
【有源码】基于K-Means算法的航空客户行为分群及异常预订识别研究-基于大数据的航空客户预订行为多维分析与可视化大屏设计
大数据·人工智能·机器学习·数据挖掘·数据分析·spark·kmeans
Nefu_lyh18 小时前
【工作杂谈_20261012】数据平台与工程治理: Spark OOM 排查:Java Heap、Executor 与代码内存模型
java·大数据·spark
计算机编程指导师19 小时前
计算机毕设选题:基于Spark+Django的水质多指标关联分析与可视化系统源码 毕业设计 选题推荐 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·水质
计算机编程指导师19 小时前
【大数据毕设】Hadoop+Spark台北市住宅价格数据可视化分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·住宅价格
计算机编程指导师1 天前
【计算机毕设推荐】基于Hadoop+Spark的公共交通运营数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·数据分析·spark·交通
计算机编程指导师1 天前
【计算机毕设选题推荐】基于Hadoop的宫颈癌变进程光谱数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·数据分析·spark·毕业设计·宫颈癌变
计算机编程指导师1 天前
【计算机毕设选题推荐】基于Hadoop+Spark的化妆品销售大数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·化妆品
计算机编程指导师1 天前
计算机毕设选题推荐:Hadoop大数据下的个体肥胖健康风险评估与可视化系统源码 毕业设计 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·肥胖健康风险
计算机编程指导师1 天前
Python大数据毕设怎么写?Django结合Hadoop+Spark京东销售分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·spark·毕业设计·课程设计·京东商品